Skip to content

My work from CSC2210 - Procedural and Object-Oriented C++ at MSOE (Fall 2024). Includes assessments, exercises, and software project assignments (SPAs).

Notifications You must be signed in to change notification settings

jeffTheLandShark/CSC2210

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

My work from CSC2210 - Procedural and Object-Oriented C++ at MSOE (Fall 2024). Includes assessments, exercises, and software project assignments (SPAs).

Resources

Stars

Watchers

Forks