Mar 14, 2026  
2026-2027 Undergraduate Academic Catalog 
    
2026-2027 Undergraduate Academic Catalog
Add to Portfolio (opens a new window)

CPE 1040 - Transfer Programming for Computer Engineers

4 lecture hours 0 lab hours 4 credits
Course Description
This course is utilized to document approved transfer credit in computer programming from another college, normally as part of an articulation agreement or a transfer advising pathway. It is not intended for regular offering at MSOE. The equivalent course should include structured programming, primitive types, assignments, expressions, control structures, parameter passing, and arrays. The programming language of instruction must be C, C++, or Java.
Prereq: None
Note: Both CPE 1040 and CPE 1140 are required to satisfy the first-year computer programming and data structures requirements for computer engineers at MSOE.
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Apply algorithmic thinking to design and program computing solutions. 
  • Translate problems into appropriate models and data. 
  • Choose programming language primitives to represent raw data and organize it into forms that can be manipulated and analyzed. 
  • Decompose computing solutions into modules that help manage algorithmic complexity, improve readability, and support testability. 
  • Evaluate how well a computing solution solves a problem and, when appropriate, consider the impact of the solution on society. 

Prerequisites by Topic
  • None

Course Topics
  • Structured programming including program entry points, subroutines, functions, and utilization of standard libraries
  • Primitive data types including Booleans, characters, strings, integer numbers, and floating-point numbers
  • Assignment, expressions, and operator precedence
  • Sequencing control flow using linear flow and non-linear branching
  • Selection control flow using if-then-else statements and switch-case statements
  • Iterative control flow using do-while loops, while loops, and for loops
  • Data passing using call-by-value and call-by-reference parameters as well as return values
  • Arrays as data containers
  • User input and output 
  • Generation of run-time executables, debugging, and testing

Coordinator
Dr. Russ Meier



Add to Portfolio (opens a new window)