Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 3.73 KB

README.md

File metadata and controls

59 lines (46 loc) · 3.73 KB

CSC2210 - Procedural and Object-Oriented C++

Overview

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.

Learning Outcomes

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

Repository Structure

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)

SPAs

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.

Tools and Technologies

  • IDE: Clion, Visual Studio Code
  • Languages: C++, x86 Assembly, C
  • Build Tools: Ninja, CMake, g++, gcc
  • Operating System: Windows 11

References

  • CSC 2210: Procedural and Object-Oriented C++ by Frank Vahid and Roman Lysecky (zyBook)

Academic Honesty

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.