Computer Programming Requirement

All undergraduate engineering degree programs within the School of Engineering and Applied Sciences (SEAS) include a computer programming requirement. 

In many cases, transfer students complete a computer programming course at another academic institution, and then seek to use this credit to satisfy the relevant degree requirement at UB. In other cases, students may complete computer science related Advanced Placement coursework in high school. In what follows, we outline SEAS policies regarding the articulation of transfer credit and test credit for computer programming courses.

On this page:

Articulation of Transfer Credit

Articulation of transfer credit for computer programming courses is complicated by the diversity of approaches and languages used to introduce programming concepts. SEAS is a microcosm of this diversified approach. Three entry-level computer programming courses are offered within SEAS:

  • CSE 115 Introduction to Computer Science for Majors I (Python and JavaScript)
  • EAS 230 Engineering Computations (Matlab)
  • EAS 240 Introduction to Programming for Engineers (C and C++)

While these courses feature different languages, they all introduce fundamental aspects of structured programming and illustrate concepts through application to scientific and engineering problems.

Within SEAS, we have adopted an approach that aims to afford flexibility while providing resources that enable students to master the essential concepts of a specific UB course. The approach is consistent with the SUNY Seamless Transfer policy.

SEAS articulates external courses as follows:

  • Courses that provide a foundation in procedural programming, covering topics such as basic programming concepts (e.g., variables, types, expressions, statements), control structures, functions, use of aggregate data structures (such as lists and maps), and file I/O and network communications, involving a substantial hands-on programming component, and thereby provide sufficient preparation for CSE116, articulate to CSE115.
  • Courses that include a formal Matlab programming component, theory and programming of linear algebra (solutions and properties of linear systems), and science/engineering applications articulate to EAS 230.
  • Courses that include C and C++ programming and science/engineering applications map to EAS 240.
  • If the course does not map to CSE 115 / EAS 230 / EAS 240, we then check to see if it matches the SUNY Seamless Transfer definition for a “Computer Programming” course. To qualify, the course must introduce fundamental aspects of structured (procedural) programming and illustrate concepts through application to scientific and engineering problems. If it does, then we articulate the course to the "mask" EAS999TRCP. 

Any of these courses (EAS 230 / EAS 240 / CSE 115 / EAS 999TRCP) can be used to satisfy the relevant UB computer programming degree requirement for an engineering program. By extension, all computer programming courses satisfy a pre/corequisite involving CSE 115, EAS 230, or EAS 240.

Articulation of Advanced Placement Credit

Students with a score of 5 on the Computer Science A Advanced Placement Exam are awarded UB credit for CSE 115. This credit can be used to satisfy the relevant UB computer programming degree requirement for an engineering program. In addition, it will satisfy a pre/corequisite involving CSE 115, EAS 230, or EAS 240.

Students with a score of 4 or 5 on the Computer Science Principles Advanced Placement Exam are awarded UB credit for CSE 101. This credit cannot be used to satisfy a UB computer programming degree requirement for an engineering program.

Self-Study Packages

Some engineering programs within SEAS expect their students to be proficient in the material covered in a specific programming course (details provided below). In many cases, mastery of these concepts is required to successfully complete upper-level coursework. To assist in this regard, SEAS has developed self-study packages that students can use as a resource to learn the material they did not obtain from the computer programming course they completed. It is essential that students utilize these or other resources to become proficient in the skills needed for upper-level coursework in the major.

Here are links to the self-study packages (may require ubitname and password):

Program-Specific Guidance

In what follows below, we provide additional program-specific guidance regarding the computer programming requirement.