Hackerville.org: A Virtual Cybersecurity Lab Environment – http://hackerville.org/

Project Overview :
This project was done with a professor within the CybE department, Dr. Jacobson. The main goal for Hackeville was to inform high-school level or basically anyone with no knowledge of cybersecurity the basics of how to keep yourself safe online. It would eventually be able to go in-depth on how some of the eavesdropping, phishing, password cracking, etc. would work from the attacker’s point of view.

Contribution:
I would design some of the pages that would be used for login attempts. We wanted to show the difference between just a regular username and password login and then show how 2-factor-auth is going to be much better.

Learned Skills:
During this project, I would learn how to use verified SSL and TLS certificates to ensure that users would be connecting to the correct HTTPS so that the info they are sending would be encrypted. We would also have set up an insecure HTTP connection to show that data being sent over this can be easily extracted in plain text. As mentioned before I learned how much more secure 2fa is compared to a traditional login.

Resources Used:
The main resource that I used with this project was my professor Dr. Jacobson. I also did research on google to figure out how to get apache to work with an HTTPS connection.

Pipeline Procesor

Pipelined Processor - an overview | ScienceDirect Topics

Project Overview :
This project was probably one of the hardest ones that I had to tackle during my undergrad. Using MIPS we were first tasked with creating a Single-Cycle Procesor, using the knowledge we gained from that we would then create a pipeline processor using MIPS. We would have to create all the different components of the processor such as the ALU, Decoder, Reg file, Ect. Working in a team on this project went well.

Contribution:
I would contribute to creating specific parts of the processer and then learn how to connect those parts to the others that students were creating. This project took a lot of work and Vhdl was like a foreign language to me.

Learned Skills:
During this project, I learned how you can reduce the time it takes for a processer to process information just by its architectural design of it. I was able to learn some coding techniques in VHDL.

Resources Used:
We would use a lot of the project’s documents in order to figure out how to wire the processer properly. Also, we could go to the class’s TA and even the professor if we got really stuck.S

Swords Of Conquest

Project Overview :
This project was one in which we would create an android web application that was a simple turn-based video game. You would be able to log in to the server create a character and then level up that character while acquiring new items when dropped by the enemy. The project consisted of a front and backend where the front would have our GUI and gaming elements and the back would contain all the database information like user accounts and attributes for those user accounts.

Contribution:
I worked on the front of this application and would create a lot of the interactive screens, such as the shop, character selection, and inventory, just to name a few. I would then have to figure out how to send the info from the front to the back end in order to manipulate the JSON files to update when a user would create a new character or if they would buy something in the store that needs to be added to the database for future use. I also worked on the chat system using WebSockets.

Learned Skills:
This project thought me a lot of app development skills, such as how to use git properly. I would also learn a lot more about the java coding language. At one point we had to use WebSockets in order to get a chat system in place. WebSockets seemed difficult at first but once I got the hang of it I was able to add many features to our chat system within the game.

Resources Used:
A huge resource that we used was one of the students who had started a game like this using Java as the coding language. We were able to use a lot of ideas from his “beta” game to implement into our own. We also had to do a lot of research on the internet about WebSockets and try to get more explanations on how to edit JSON files from the front end.

Senior Design Project – Class Scheduler

Description:
The application will have a GUI that will lay out all of the lectures and labs available for EcpE and with constraints that were given by Vicky they will be automatically generated in the beginning then the schedule can be modified according to specific time slots that professors might want. The available times for certain classes will be open so if needed the advisor who is creating the schedule will be able to move the class to the open slot.

Contribution:

On our Senior Design project, I am working on the front end and creating the GUI. I am currently using the PyQt5 formwork within python to create the GUI. I am in the first phase of the project and will continue working on the UI. We want the scheduler of the EcpE department to have a seamless time scheduling all labs and classes. We are going to do our best to make the GUI as inviting as possible.

Learned Skills:

Since we decided to code our application I have been gaining a lot of knowledge on how the python coding language works. We are also creating this app as a self-contained executable file which means that everything will all be on the same application. I am learning how to make a program fully self-contained so that the advisor who is scheduling will not have to mess around with a database when classes change.

Links:

http://sddec22-09.sd.ece.iastate.edu/#teammember
https://git.ece.iastate.edu/sd/sddec22-09

Big Picture:

This project will make it much easier for the advisor who schedules the EcpE classes to do their job. The reason we were tasked with this project is that Vicky who currently does all the scheduling by hand in an excel document will be retiring and she wants to be able to pass down her way of doing things within an automated program. I think that our piece of software will be very helpful for the advisors as a whole and save them much time on scheduling.