This repository contains lab work for the CSC2210 - Procedural and Object-Oriented C++ course at the Milwaukee School of Engineering (Fall 2024), instructed by Dr. Sohum Sohoni. The course focuses on the C++ programming language, relating the high-level computational model of C++ to its machine-level execution.
The following was provided by the course syllabus:
- Write procedural C and C++ programs
- Explain how signed 2's complement and unsigned numbers, and floating point numbers are represented within a computer, and explain how that impacts performance
- Describe the transformation of code from a high-level language like C++ to machine-level instructions
- Describe the execution of a line of high-level code and flow of control in terms of interaction with the underlying hardware like the PC, registers, stack and the datapath
- Explain how variables are allocated in memory, the relationship between variables and pointers, and the scope and lifetime of variables
- Make use of argument passing by value, reference, and address
- Write object-oriented C++ programs making use of C++ operator overloading, polymorphism, and virtual vs. non-virtual methods
- Write robust C++ programs that use dynamic memory allocation
- Write robust C++ programs using template functions and the Standard Template Library
- Debug C and C++ implementations using a debugger
- Use preprocessor directives to conditionally compile source code and support project configuration
- Compare the C++ type system with other languages with respect to efficiency, reliability, and readability
The files in this repository are organized into the following categories:
├── assessments/ # quizzes, exams, and other assessments
├── exercises/ # small programming exercises - homework
├── ref/ # example code from class
├── SPA1/ # Fluid Intake Tracker
├── SPA2/ # Wordle Helper
├── SPA3/ # Appointment Scheduler
├── SPA4/ # Wumpus Game
└── SPA5/ # Fluid Intake Tracker (C)
SPA | Description |
---|---|
SPA 1 | Implementing a program that keeps a running tally of intakes and output and flags when the differential is 1 liter or more. |
SPA 2 | Implementing a "wordle helper" program that reads a dictionary file and finds words that match the user's input. |
SPA 3 | Implementing a program to read appointments and print them out in sorted order where appointments are sorted by date. |
SPA 4 | Implementing a spin on the classic text-based game "Hunt the Wumpus". |
SPA 5 | Implementing a C version of SPA 1. |
- IDE: Clion, Visual Studio Code
- Languages: C++, x86 Assembly, C
- Build Tools: Ninja, CMake,
g++
,gcc
- Operating System: Windows 11
- CSC 2210: Procedural and Object-Oriented C++ by Frank Vahid and Roman Lysecky (zyBook)
This repository is published to showcase my work and document my learning progress throughout the course. If you are a student in the same course, please be aware of your academic institution's policies on academic honesty and integrity. Do not copy any part of these assignments for your own submission.