Required for the Bachelor of Science in Computer Science, Software Engineering Concentration

(128 semester hours) boldface items indicate differences from the typical CS Bachelor’s degree

Required outside the College of Engineering

  • ENGL 160 – English Composition I (3 hrs)
  • ENGL 161 – English Composition II (3 hrs)
  • MATH 180 – Calculus I (5 hrs)
  • MATH 181 – Calculus II (5 hrs)
  • MATH 210 – Calculus III (3 hrs)
  • Lab science sequence and science electivesb (12 hrs)
  • Lab Science Sequence (8-10 hrs) – See below
  • Science electives (2-4 hrs) – See below
  • Humanities electives  a (6 hrs)
  • Social sciences electives a (6 hrs)
  • Humanities/social sciences/art electives b (18 hrs)


a Humanities and social sciences electives must be selected from a list of approved courses provided by the College of Engineering.


b Humanities/social sciences/arts electives may include IE 201 – Engineering Economy. Students preparing for the Fundamentals of Engineering Examination, which leads to becoming a Licensed Professional Engineer, are advised to take IE 201. One of the humanities/social sciences/art or free electives (see below) must be approved to meet the cultural diversity requirement. Choices for the lab science elective are below. Science and arts electives must be selected from a list of approved courses provided by the CS Department. More explanation of the science requirement is given below.

  • Total Hours: (61 hrs)

Required in the College of Engineering

  • CS 101–Introduction to Computing (3 hrs)
  • CS 102–Introduction to Programming (3 hrs)
  • CS 201–Data Structures and Discrete Mathematics I (4 hrs)
  • CS 202–Data Structures and Discrete Mathematics II (3 hrs)
  • CS 266–Computer Architecture I: Logic and Computer Structures (4 hrs)
  • CS 301–Languages and Automata (3 hrs)
  • CS 335–Computer Ethics (2 hrs)
  • CS 340–Software Design (4 hrs)
  • CS 366–Computer Architecture II: Hardware-Software Interface (4 hrs)
  • CS 376–Practicum in Computer Science Oral Presentations (1 hrs)
  • CS 385–Operating Systems Concepts and Design (4 hrs)
  • CS 401–Computer Algorithms I (3 hrs)
  • CS 440–Software Engineering I (3 hrs)
  • CS 442–Software Engineering II (3 hrs)
  • IE 342–Probability and Statistics for Engineers (3 hrs)
  • Engr 100–Orientation (0 hrs)Engr 100 carries one equivalent hour; does not carry credit towards graduation.
  • Total: (47 hrs)

Technical Electives

  • Students must complete at least nine hours of courses from among the following list of courses, only one of which may be outside the CS rubric. Two of these courses must be taken from the following list of courses: CS 422, CS 480 and either CS 441 or CS 485.
  • CS 398–Undergraduate Design/Research (3 hrs)
  • CS 411–Artificial Intelligence (3 hrs)
  • CS 421–Natural Language Processing (3 hrs)
  • CS 422–User Interface Design and Programming (3 hrs)
  • CS 424–Visualization and Visual Analytics (3 hrs)
  • CS 426–Video Game Design and Development (3 hrs)
  • CS 441–Distributed Object Programming Using Middleware (3 hrs)
  • CS 450–Introduction to Networking (3 hrs)
  • CS 455–Design and Implementation of Network Protocols (3 hrs)
  • CS 473–Compiler Design (3 hrs)
  • CS 474–Object-Oriented Languages and Environments (3 hrs)
  • CS 476–Programming Language Design (3 hrs)
  • CS 480–Database Systems (3 hrs)
  • CS 485–Networked Operating Systems Programming (4 hrs)
  • CS 488–Computer Graphics I (3 hrs)
  • IE 345–Regression Applications and Forecasting in Engineering (3 hrs)
  • MCS 425–Codes and Cryptography (3 hrs)
  • Stat 471–Linear and Non-Linear Programming (3 hrs)
  • Total: (9 hrs)

Required Mathematics Courses

Six hours from among the following list of courses:

  • Math 215–Introduction to Advanced Mathematics (3 hrs)
  • Math 220–Introduction to Differential Equations (3 hrs)
  • One of the following courses may be chosen:
    • Math 310–Applied Linear Algebra (3 hrs)
    • Math 320–Linear Algebra I (3 hrs)
  • Math 430–Formal Logic I (3 hrs)
  • Math 435–Foundations of Number Theory (3 hrs)
  • Math 436–Number Theory for Applications (3 hrs)
  • MCS 421–Combinatorics (3 hrs)
  • MCS 423–Graph Theory (3 hrs)
  • MCS 471–Numerical Analysis (a) (3 hrs)
  • Stat 473–Game Theory (3 hrs)

(a) Students may choose to use MCS 471 – Numerical Analysis as either a CS technical elective from outside the CS department or as a required mathematics course, but not both.

  • Total: (6 hrs)

Lab Science Sequence and Science Electives

Every student must take one of the two-course lab sequences from Biological Sciences, Chemistry, Earth and Environmental Sciences, or Physics. In Chemistry, either the sequence CHEM 112, CHEM 114, or the sequence CHEM 116, CHEM 118 may be chosen. The choices are in the list below. Additionally, students must take a total of at least 12 credit hours, including that sequence, in the science area. Additional courses may be other courses on this list, courses that have any of these courses as prerequisites, or other sciences and quantitative social sciences courses from a list maintained by the Computer Science Department. Also, students preparing for the Fundamentals of Engineering Examination, which leads to becoming a Licensed Professional Engineer, are advised to take the Physics sequence of PHYS 141 and PHYS 142.

  • BioS 100–Biology of Cells and Organisms (5 hrs)
  • BioS 101–Biology of Populations and Communities (5 hrs)
  • Chem 112–General Chemistry I (5 hrs)
  • Chem 114–General Chemistry II (5 hrs) hrs
  • Chem 116–Honors General Chemistry I (5)
  • Chem 118–Honors General Chemistry II (5 hrs)
  • Phys 141–General Physics I (Mechanics) (4 hrs)
  • Phys 142–General Physics II (Electricity and Magnetism) (4 hrs)
  • EaES 101–Introduction to Earth and Environmental Sciences I (5 hrs
  • EaES 102–Introduction to Earth and Environmental Sciences II (5 hrs)
  • Total: (12 hrs)

Free Electives

Students preparing for the Fundamentals of Engineering Examination, which leads to becoming a Licensed Professional Engineer, are advised to use these hours to take CME 201 – Statics and one course from the following: CME 203 – Strength of Materials, CME 260 – Properties of Materials, and ME 211 – Fluid Mechanics I.

Typical Schedule for the Computer Science Major, Software Engineering Concentration


Fall semester – 14 hrs

Math 180–Calculus I (5)

CS 101–Introduction to Computing (3)

Engl 160–English Composition I (3)

Humanities/social sciences/art elective (3)

Engr 100–Orientation (1 hrs, 0 credits)

Spring semester – 15 hrs

Math 181–Calculus II (5)

Lab Science Sequence I (4)

Engl 161–English Composition II (3)

CS 102–Introduction to Programming (3)


Fall semester – 16 hrs

Math 210–Calculus III (3)

Lab Science Sequence II (4)

CS 201–Discrete Math/Data Structures I (4)

Humanities/social science/art electives (3)

Free elective (2)

Spring semester – 17 hrs


CS 266–Computer Architecture I (4)

CS 202–Discrete Math/Data Structures II (3)

IE 342–Probability and Statistics (3)

Science elective (4)

Humanities/social science/art elective (3)



Fall semester – 17 hrs

CS 366–Computer Architecture II (4)

CS 340–Software Design (4)

Required mathematics course (3)

IE 201–Engineering Economy (3)

Humanities/social science/art elective (3)

Spring semester – 16 hrs

CS 301–Languages and Automata (3)

Free elective (3)

CS 385–Operating Systems Concepts (4)

Required mathematics course (3)

Humanities/social science/art elective (3)



Fall semester – 17 hrs

CS 335–Computer Ethics (2)

CS 401–Computer Algorithms (3)

CS 440–Software Engineering I (3)

Technical elective (3 hrs)

Humanities/social sciences/art electives (6)

Spring semester – 16 hrs

CS 442–Software Engineering II (3)

Technical electives (6)

Humanities/social sciences/art electives (6)

CS 376–Practicum in Oral Presentations (1)