CSC 201

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