Aug 15, 2022  
2020-2021 Undergraduate Academic Catalog 
2020-2021 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CS 2040 - Programming in C and C++

3 lecture hours 2 lab hours 4 credits

Course Description
This course introduces students to additional scripted, procedural, and object-oriented programming languages including C and C++. Students are introduced to the concepts of compilation, memory management, linking, low-level types, efficient implementation of objects, and the Standard Template Library. Students may not receive credit for both CS 3210  and CS 2040. (prereq: CS 2852 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Write procedural C programs
  • Write procedural and object-oriented C++ programs
  • Make use of C++ operator overloading
  • Make use of C++ polymorphism, particularly virtual vs. non-virtual methods
  • Create and make use of C++ namespaces
  • Create and make use of C++ templates
  • Make use of the C++ Standard Library
  • Make use of C and C++ memory management tools
  • Make use of C/C++ compiler pre-processor directives
  • Distinguish and make use of argument passing by value, reference, and address
  • Discuss how typing systems influence efficiency, readability, and reliability
  • Write procedural and object-oriented programs in a scripting language
  • Be familiar with functional programming


Prerequisites by Topic
  • Object-oriented programming
  • Java
  • Data structures

Course Topics
  • Procedural, object-oriented programming in a scripting language
  • Procedural, object-oriented C++ programming
  • Memory management in C++
  • Standard Template Library
  • Procedural programming in C
  • Functional programming concepts

Laboratory Topics
  • Scripting languages
  • C++
  • C

Dr. Robert Hasker

Add to Portfolio (opens a new window)