Welcome to my CS2-Projects repository, a collection of my programming endeavors during the Computer Science II course at Kent State University. This repository stands as a testament to my development journey in C++, showcasing projects that underline my growing expertise in advanced programming design, data structures, and abstraction through an object-oriented approach.
Visit the CS2 Class Website CS2 Class Website
Computer Science II is a class at Kent State University. The course is entirely focused on C++ programming, and involves advanced programming design with a primary focus on data structures and abstraction. The class is object-oriented in approach.
About the Course: Computer Science II is a crucial component of Kent State University's Computer Science curriculum, emphasizing C++ programming. The course delves into advanced programming designs, primarily focusing on data structures, abstraction, and adopting an object-oriented methodology. Engaging with CS2 is an immersive experience. Although CS2 reflects a single course, the Computer Science program is designed so that CS2 is your main focus as a student the semester you take it. I spent upwards of 30 hours a week on assignments, exams and projects in the CS2 class. It is designed to replicate a professional workweek as a programmer.
My Journey: C++ marked my foray into the programming world, with CS2 introducing me to object-oriented problem solving. This class was instrumental in teaching me how to engage in prolonged programming sessions, transitioning from a beginner to a proficient programmer capable of understanding and applying concepts at a professional level. The lessons learned went beyond syntax and semantics; they included memory management, a shift from procedural to object-oriented programming, and a nuanced understanding of software development practices.
The String project involves creating a custom string class in C++, challenging me to implement functionalities similar to the standard string library. It served as an excellent exercise in understanding class design, memory management, and operator overloading in an object-oriented programming context.
The bigint project focuses on managing large integers that surpass the standard data type limits in C++. It required the implementation of arithmetic operations, storage, and manipulation of large numbers, providing a deep dive into arrays, loops, and dynamic memory allocation techniques.
These projects were more than just assignments; they were stepping stones that enhanced my programming logic, understanding of data structures, and ability to implement complex algorithms in C++. Each project pushed me to explore C++ deeper, solidifying my knowledge and preparing me for future software development challenges.