Introduction to Computer Science with C++
Introduces algorithm and problem solving methods. Emphasizes structured programming concepts, elementary data structures and the study and use of a high level programming language.
Course Learning Outcomes
- Write C++ code that uses file based Input/Output
- Implement value-returning and void functions using value and reference parameters
- Document functions with pre and post conditions
- Create simple user defined data types with C++ typedef and enum
- Implement structured data types using C++ struct
- Use header files for structured data type definitions
- Implement multi-dimensional arrays containing simple and structured data types
- Explain how pointers are defined and used to access variables
- Explain how dynamic memory is allocated and managed
- Write code that efficiently creates and manages dynamic memory using pointers
- Create and manage a simple linked list structure
- Design and implement a program to efficiently solve computer-related problems of substantial complexity requiring a program between 500 and 2000 lines of working code, using structured procedural design methods, functional decomposition and no global variables
- Implement source code version control using github or comparable system
Topics Covered in this Course
- Object Oriented vs. Procedural program design
- C++ Syntax and Semantics
- Console and File IO
- Conditions and Logical Expressions
- Functions, Return Values, Value and Reference Parameters
- Scope and Lifetime
- Simple and Complex Data Types
- Array-Based algorithms
- Pointers
- Dynamic Memory and Introduction to Pointer Based Structures (Linked-Lists)
- Source Code Version Control