I was Homeschooled ages Pre-K to 12th grade. My parents didn't want me to go to public school, so they made the sacrifice to homeschool me. They were Christian, so they used various Christian programs. I had multiple different curriculums from pre-school to Middle school. Then Switched-On Schoolhouse(known as SOS), an online teaching program for middle school and some of High School. Finally, the ACE curriculum for the rest of high-school.
I enjoyed being homeschooled, as it gave me a lot of freedom. Because I could do my homework in the car, or at a hotel, I was able to travel during the school week. It also gave me a lot of Independence, as I was able to do my work on my own time.
I excelled in my math homework, and any math related problems in physics or chemistry. As such I decided that I had to do something related to math. I heard somewhere that if you're good at math, you should pursue Computer Science. So I did! Another factor that influenced me was the creativity. I really wanted to create something, but I'm not good at art, music, or dance. Knowing that with Computer Science, I would be able to create a website, or code that does something, a video game, a mobile app. I felt that it was, in some capacity, going to let me use that creative energy that I have.
My first foray into college was the College of Coastal Georgia. I lived in Kingsland Georgia at the time, and wanted to go to a college close to my house. I planned on taking my general education classes here and then transferring to a different college in Georgia. As such I took most of my General Education classes here. I also took four relevant classes.
After taking my java classes, I had a new love for computer science. I enjoyed programming, and the ability to create was feeling more tangible.
Object Oriented Programming I: An introduction to Java. I learned a lot of basic programming skills, like loops, assignment, methods, if statements, and all the features found in most programming languages. My final project was to make a simple calculator.
Object-Oriented Programming II: Or Java II. This class taught me about objects, and using multiple classes for programming. Here I learned about the Fundamental Software Development tools. Encapsulation, Inheritance, Abstraction, and Polymorphism. Here the Final project was making a GUI, that contained radio buttons, check boxes, a drop-down menu, and a text box. More details can be found on the projects page.
Calculus I and II: I learned starting from limits in Calculus I and ending with Parametric Equations and Polar Coordinates in Calculus II.
I took an extended break from college. When I returned it was at the University of South Carolina-- Beaufort. The school was affordable, and they have a pretty good Computational Science program. They also accepted most of my transfer credits. I am finishing my degree here, so I took the rest of my computer science classes here.
I have excelled in my classes, and even graduated Summa Cum Laude. I found an even deeper love for computational science. The faculty are so nice and encouraging, and there were plenty of opportunities to grow as future professional.
Computer Programming Techniques, Practices, and Tools: An introduction to programming using python. I already learned a lot about programming from my Java classes, so the class was mostly an introduction to the python programming language. My final project was using Python to perform data visualization. More details can be found on the projects page.
Database Systems and Management: An introduction to relational Database. I used Microsoft SQL Server. I learned how to pull data from a database, create tables, manipulate the data to output what I want. My final Project was to create and populate a database. More details can be found on the projects page.
Information Security Principles: An overview of computer security. I learned about the CIA, and how we ensure the three goals. I learned about the types of threats to Computers, and the common ways to prevent them. And the Standards used for Security.
Techniques of Computation: A class about algorithms. I learned about algorithms, and how they are created and used. I learned about the notation for time complexity. I used Python to define the algorithms.
Computational Mathematics: How computers do complex math. I learned how to do complicated mathematics in a computer. Like how a computer can find the roots of a line, even though it doesn't seem very possible for it to do it. I learned of many algorithms and their differences. I predominantly used MATLAB to implement the algorithms into the computer.
Introduction to Computer Networks: An introduction to the physical aspects of computer networks. I learned about the OSI model, and how data is fragmented and put back together during the travel. I learned about the different types of wires. And I learned about the routers, LANS, and other stuff.
Introduction to Software Engineering: An Introduction to Software Engineering. This class was basically software engineering with C++. I learned how to program with C++, like memory management, and pointers. I wa taught up to polymorphism.
Data Visualization: A course about visualizing data. I used the programming language R to take data, and build graphs from it. I also learned how to read and interpret the data. The Final Project was doing PCA analysis on the dataset "Iris". More details can be found on the projects page.
Introduction to HTML and CSS: An introduction to designing a website. I learned how to code in HTML and CSS. I also learned how to make a responsive web site. The final project was designing and creating a web site. More details can be found on the projects page.
Modeling and Simulation: A class dedicated to Modeling data and Simulating it. I used VBA in Excel for this class. I learned about how people create models for events, and the different types of models there are. I learned techniques for simulating data, different distributions, and manual simulations. My final project was to take data I found, model it, and then simulate it. After that, I answer some questions by changing the model some ways. More details can be found on the projects page.
Computer Graphics: This class taught me how to make images and animations only using computer code. We used OpenGL and GLUT in C++ to make 2D images, and then create animations from our images. Then we made a 3D animation as well. Though not technically a project, more details about the coursework can be found on the projects page.
High Performance Computing: This class taught me about Parallel Computing. We learned about the hardware required for parallel computing, the software required for it, and even some GPUS. We practiced paralleleizing using OpenMP and MPI.
Introduction to Data Minig: This class was an introductory class to machine learning. Here we learned about Supervised and Unsupervised learning. K-nearest neighbors, Linear and Logistic Regression, One-hot Encoding, Imputation-- and other techniques to aide in Data Mining. My final project was to participate in the Kaggle Titanic Competition. Me and a partner had to pre-process the data given to us, and then find some machine learning algorithms to get the most accurate guess. More details can be found on the projects page.
Software Testing and Verification: Or an Introduction to Web-development in Java, and Agile methodology. In this class we used JAVA, HTML, and SQL to creaet a database-driven web-app. We also learned how to use Scrum and Kanban boards, and DevOPs. My Final Project was to create and design a web-app, that has a connection to the database. Me and my Team created a Virtual Dice Roller. More details can be found on the projects page.
Introduction to Technical Writing: : An Introduction to Technical Writing. I learned how to shorten and simplify sentences, and the CARP design principles. My final project was to find a document, and re-write it to be more concise and better organized. More details can be found on the projects page.
Calculus III: I learned about Vectors, and integrals and differentials in 3D.
I wanted to learn more about Selenium WebDriver and testing in general. So I took this online course which gave me skills with Selenium, JMeter, Appium and Android studio. I took some other courses on Coursera that expanded my knowledge of Unit testing.
Future Horizons taught me the fundamentals about Data Engineering. It gave me more knowledge on how to use Python, Pandas, Numpy, MySQL, and SQLAlchemy. I had a project which required me to connect MySQL with Python, and clean data using Pandas. More details can be found on the projects page.
This is an ongoing lesson. I am learning about the Databricks webpage, and how Databricks is used. I will also be learning about Generative AI. The course is due to end at the beginning of December.