UIC Computer Science Undergraduate Program:

Transition to Fall 2012 Curriculum

Modification History:


On March 8 2012, the UIC Faculty Senate approved a revision to the Computer Science Undergraduate Curricula (links to official documents:  General CS degree, Human-Centered Computing Concentration, Computer Systems Concentration, Software Engineering Concentration.)

The new curriculum will apply to all students beginning Fall 2012 or later.  However, many current students will be be able to switch to the new curriculum (and will find it beneficial to do so).

The following gives an overview of the new curriculum and gives guidance to students who have completed part of the current curriculum and are considering changing to the new one.  

Abbreviations:  

 General CS Degree

CS

Human-Centered Computing Concentration

HCC

Computer Systems Concentration

CSC

Software Engineering Concentration

SWE

Contents:

Who is Affected?

Overview

Credit Hours by Category

Pre-requisite Chains for new CS Core

Concentration-Specific Requirements

Course Phase-In and Phase-Out Schedule

Language Issues

Switching to the New Curriculum

Pitfalls

Our Advice

Course Descriptions

Appendix A:  Curriculum Sheet for General BS in CS Degree

Appendix B:  Curriculum Sheet for Human-Centered Computing Concentration

Appendix C:  Curriculum Sheet for Computer Systems Concentration

Appendix D:  Curriculum Sheet for Software Engineering Concentration


 

Who is Affected?

All students starting in the program Fall 2012 or later will have to follow the new curriculum.  Continuing students (i.e., those admitted before Fall 2012) will be able to continue with the old curriculum.

However, many continuing students will find it advantageous (depending on their stage in the program) to switch to the new curriculum.

To enable more students to select the new curriculum, during the transition period, certain combinations of “old” classes and new classes will be accepted as replacements for requirements in the new curriculum.  The most likely substitutions are discussed in the section “Switching to the new Curriculum” below.  Such substitutions will require submission of a “Modification of Major” form.

Overview:  

A summary of the changes to the CS core curriculum are as follows (in no particular order):

Summary of changes outside CS coursework:


Credit Hours by Category:  

The following table summarizes the required hours by category in the new CS curriculum vs. the current curriculum.  (See Appendix for information on the concentrations).

Current Curriculum

New Curriculum

English

6

6

Required Math

13

13

Science

12

10

Gen Ed

15

15

Humanities/Social Science/Arts Electives

15

6

Additional Math

9

9

Required CS(Core)

38

42

Technical Electives

15

15

Free Electives

5

12


Pre-requisite Chains for new CS Core:  

Dashed Boxes:  already existing and unchanged classes

Dashed arrows:  “credit or concurrent registration”

Credit hours indicated in parens.

Concentration-Specific Requirements

Recall:  all concentrations now share the same CS core.

Beyond the core, CS/Technical requirements are as follows:

Program

CS/Technical Requirements Beyond CS Core

CS

15 hours technical electives (no change)

HCC

(1) CS422 and

(2) at least three of:  [CS411, (CS415 or ECE415), CS421, CS424, CS426, CS488] and

(3) three additional hours of technical electives

CSC

(1) at least four of:  [CS450, CS466, CS469, CS473, CS487, ECE367] and

(2) three additional hours of technical electives

SWE

(1) CS440, CS442 and

(2) at least two of: [CS422, CS441, CS474, CS480] and

(3) three additional hours of technical electives

Course Phase-In and Phase Out Schedule

Courses in RED are being renumbered (101, 102) or have a change in hours (385) or are being phased out.

COURSE

COMMENTS

FALL

 2012

SPRING

2013

FALL

2013

SPRING

2014

CS101

NO

NO

NO

NO

CS111 (formerly 101)

YES

YES

YES

YES

CS102

NO

NO

NO

NO

CS141 (formerly 102)

YES

YES

YES

YES

CS107 (Java)

NO

NO

NO

NO

CS107 (C)

YES

YES

YES

YES

CS211 

YES

YES

YES

YES

CS201 (java)

YES

NO

NO

NO

CS201 (C)

Continues for Computer Engineering

NO

YES

YES

YES

CS202

YES

YES

NO

NO

CS151 

YES

YES

YES

YES

CS251

NO

YES

YES

YES

CS266

YES

NO

NO

NO

CS366

YES

YES

NO

NO

CS261 

NO

YES

YES

YES

CS361 

NO

NO

YES

YES

CS362 

NO

NO

YES

YES

CS385 (4 hour version)

YES

YES

YES

NO

CS385 (3 hour version)

NO

NO

NO

YES

CS340

YES

YES

YES

NO

CS341

NO

YES

YES

YES

CS342

NO

NO

NO

YES

CS335

YES

YES

NO

NO

CS376

YES

YES

NO

NO

CS377

NO

NO

YES

YES

CS301

YES

YES

YES

YES

CS401

YES

YES

YES

YES

Language Issues

As you know, currently, introductory CS classes primarily focus on Java.  Many of our current and previous students have commented (through surveys) that focussing on C earlier in the curriculum and then introducing Object Orientation later would have been better for them.  CS141 will follow this advice and focus on procedural programming in C (or “C+” -- C with C++ style I/O).  (Just so you know we aren’t completely crazy, other programs such as Carnegie Mellon are adopting a similar approach.)

Our current intentions are summarized in the table below (subject to change based on experience during phase in process).

To accommodate students currently taking CS102 in Java, CS211 will include a crash course in C Fall 2012.  In subsequent semesters, basic C skills will be assumed of students entering CS211.

Fall 2012

Spring 2013

Fall 2013

Spring 2014

CS141

C

C

C

C

CS201

Java

C (CE)

C (CE)

C (CE)

CS202

Java

Java

xxxx

xxxx

CS211

C crash course

C tools

UNIX shell

C tools

UNIX shell

(OO intro?)

C tools

UNIX shell

(OO intro?)

C tools

UNIX shell

(OO intro?)

CS251

xxxx

C/C++ subset

C/C++ subset

C/C++ subset

CS340

C++

C++

xxxx

xxxx

CS342

xxxx

xxxx

OO lang TBD

OO lang TBD


Switching to the New Curriculum

To switch to the new curriculum:  visit the Computer Science Advising office (905 SEO) and fill out a general petition form (labeled “College of Engineering Student Petition”).  Simply state that you want to switch to the Fall 2012 CS curriculum.

Allowed Substitutions:  How do the courses I’ve already taken apply to the new curriculum?

During the transition period we will allow certain combinations of courses to be applied to appropriate requirements in the new curriculum.

(Additionally, if you are sticking with the current curriculum, but end up in needing a course after it has been phased out, there are analogous substitutions possible -- see next section).

First, a general rule:  Any substitution must have at least as many credit hours as the requirement for which it is substituting.  As a result any set of courses used to satisfy the new core must total at least 42 credit hours.

Comment:  The new course CS341 must be taken by all students in the new curriculum -- no substitions.  

This combination of classes (some of which may be “new”)...

can be used to satisfy this requirement in the new curriculum.

201, 202

(7 hrs)

151, 251

(7 hrs)

266,366,340 (12 hrs)

261,361,362,342 (12 hrs)

266, 366, 385  (4 hours version) (12 hrs total)

261, 361, 362, 385 (3 hour version)

266,366,340,385 (4 hr version)

(16 hrs)

261,361,362,342,385 (3 hour version)

(15 hrs)

340, 385 (4 hr version)

(8 hrs)

211,342,385 (3 hour version)

(8 hrs)

266, 261, 361

(10 hrs)

261, 361, 362

(9 hrs)

340, 385 (4 hr version)

(8 hrs)

211, 342, 385 (3 hr version)

(8 hrs)

335, 376

(3 hrs)

377

(3 hrs)

340

(4 hrs)

342

(3 hrs)

385 (4 hr version)

385 (3 hr version)

101

(3 hrs)

111

(3 hrs)

102

(3 hrs)

141

(3 hrs)

266

(4 hrs)

362

(3 hrs)

Allowed Substitutions:  What combinations of new and old courses can be applied to the old curriculum?

As with substitutions covering requirements in the new curriculum, any substitutions for the old curriculum must carry at least as many credit hours as the courses they are covering.

This combination of classes (some of which may be “new”)...

...can be used to satisfy this requirement in the old curriculum

151, 251

(7 hrs)

201,202

(7 hrs)

261,362,362

(9 hrs)

266,366

(8 hrs)

211, 342, 385 (3 hour version)

(8 hrs)

340, 385 (4 hour version)

(8 hrs)

377

(3 hrs)

335, 376

(3 hrs)

266,261,361

(10 hrs)

266,366

(8 hrs)


Pitfalls

If you have completed some “old” classes, there are some things to be aware of (whether you are switching to the new curriculum or not).  The biggies:

  1. If you have taken one of 376 or 335 (but not the other) make sure you take the other course before it is phased out.  Otherwise you will be stuck retaking content in the new 377.
  2. If you have taken CS201, but not CS202, be sure to take CS202 before it is phased out.
  3. If you have taken CS266, but not CS366, you should take CS366 before it is phased out.
  4. Starting Spring 2013, CS201 will not count toward graduation for CS students.  It will continue to be offered, but for Computer Engineering majors.

Our Advice

Should I switch to the new curriculum?

Specific Registration Advice:

For students switching to the new curriculum, we have the following immediate registration recommendations:



Course Descriptions

CS 111  (Number Change Only; Previously listed as CS 101.)  Program Design I.  3 hours.  

Introduction to programming:   control structures; variables and data types; problem

decomposition and procedural programming; input and output; aggregate data structures

including arrays; programming exercises.   Extensive computer use required.  

CS 141  (Number Change Only; Previously listed as CS 102.)  Program Design II.  3 hours.  Data

abstraction and modular design; recursion; lists and stacks; dynamic memory allocation;

file manipulation; programming exercises.   No credit given if the student has credit in CS

107.  Extensive computer use required.  Prerequisites: CS 111 and Credit or concurrent

registration in MATH 180.  

CS 151  (New)  Mathematical Foundations of Computing.  3 hours.  Discrete

mathematics concepts fundamental to computing:  propositional logic, predicates and

quantifiers; proofs; sets; recursive definitions and  induction; functions, relations and

graphs; combinatorics and discrete probability; applications  No credit given if the student

has credit in MCS 361.  Prerequisites: MATH 180; and Grade of C or better in CS 111.  

CS 211  (New)  Programming Practicum.  2 hours.  Software development tools and practices;  debugging and testing; advanced language features; standard libraries; code management.    Extensive computer use required.  Prerequisites: Grade of C or better in CS 141.  

   

CS 251   (New)  Data Structures.  4 hours.  Design, usage and analysis of data

structures:  review of lists, stacks and  queues; hash tables, priority queues, search trees,

introduction  to graphs;  searching and sorting; runtime analysis; programming projects and lab exercises.  No credit given if the student has credit in CS 202.  Extensive computer use

required.  Prerequisites: CS 151 and Credit or concurrent registration in CS 211.  

   

CS 261  (New)  Machine Organization.  3 hours.  Data representation and computer arithmetic; machine language; addressing; memory hierarchy; subroutines; data structures; processor architecture: hardware components, pipelining.   No credit given if the student has credit in CS 366 or ECE 267 or ECE 366.  Extensive computer use required.  Prerequisites: Credit or concurrent registration in CS 211.  

CS 341  (New)  Programming Language Concepts.  3 hours.  

Programming language paradigms, design and implementation: syntax and semantics;

parsing; runtime systems; control;  data types; subroutines and exceptions; data and procedural abstraction; functional programming.   No credit given if the student has credit in CS 473 or CS 476.  Extensive computer use required.  Prerequisites: CS 251 and CS 301 and CS 361; or approval of the department.  

   

CS 342  (New)  Software Design.  3 hours.  Software design principles and practices: ObjectOriented design; design patterns; software reuse; testing;  event driven programming and concurrency; graphical user interface design and development; Team Development

No credit given if the student has credit in CS 340.  Extensive computer use required.  

Prerequisites: CS 251.  

   

CS 361  (New)  Computer Systems.  3 hours.  Study of computer systems emphasizing impact on application level programming. virtual memory and memory management; code optimization; system-level I/O; concurrency:  processes, threads, synchronization; introduction to network programming.   No credit given if the student has credit in CS 366 or ECE 366.  Extensive computer use required.  Prerequisites: CS 251 and CS 261.  

   

CS 362  (New)  Computer Design.  3 hours.  Computer hardware building blocks.  logic gates; combinational circuits; arithmetic circuits; flip flops and sequential circuits; registers and memory; CPU design; I/O design.   No credit given if the student has credit in CS 266 or ECE 265.  Extensive computer use required.  Prerequisites: CS 261.  

CS 377  (New)  Communication and Ethical Issues in Computing.  3 hours.  Communication skills for computing professionals:  presentation organization, visual aides, delivery techniques, argument support. Ethical and societal issues in computing: privacy, intellectual property and ownership, crime.  No credit given if the student has credit in CS 335 or CS 376.  Extensive computer use required.  Prerequisites: CS 251.  

   

CS 385  (Change in Credit Hours)  Operating Systems: Concepts and Design.  3 hours.  

Principles of operating systems.   Effective management of machine resources:  resource allocation and

scheduling, mutual exclusion, deadlock avoidance, memory management policies, devices and file systems,  client-server systems, virtualization.   No credit given if the student has credit in CS 385.  Extensive computer use required.  Prerequisites: CS 361; or CS 201 and ECE 267.  


Appendix A:  Curriculum Sheet for General BS in CS Degree

Non-engineering and General Education Requirements (50 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGL 160

3

Academic Writing I: Writing for Acad. & Pub. Context

Satisfactory performance on dept. placement test

ENGL 161

3

Academic Writing II: Writing for Inquiry and Research

Engl 160 or the equivalent

MATH 180

5

Calculus I

‘C’ or better in MATH 121 or appropriate performance on the dept. placement test or Math ACT subscore of 28

MATH 181

5

Calculus II

‘C’ or better in MATH 180

MATH 210

3

Calculus III

‘C’ or better in MATH 181

EWC

3

Exploring World Cultures course

See General Education section for approved list

UCA

3

Understanding the Creative Arts course

See General Education section for approved list

UP

3

Understanding the Past course

See General Education section for approved list

UIS

3

Understanding the Individual and Society course

See General Education section for approved list

UUUS

3

Understanding the U.S. Society course

See General Education section for approved list

H/SS/A

6

Humanities / Social Sciences / Art Electives

Must be selected from list approved by CS department

SE

10

Science Electives

See below for details

Required Courses in CS & COE (42 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGR 100

0

Engineering Orientation

Admission to the College of Engineering

CS 111

3

Program Design I

None

CS 141

3

Program Design II

CS 111 & current/concurrent registration in MATH 180

CS 151

3

Mathematical Foundations of Computation

MATH 180; and ‘C’ or better in CS 141

CS 211

2

Programming Practicum

‘C’ or better in CS 141

CS 251

4

Data Structures

CS 151 & current/concurrent registration in CS 211

CS 261

3

Machine Organization

Current/concurrent registration in CS 211

CS 301

3

Languages and Automata

‘C’ or better in CS 201; and credit/concurrent registration in CS 202

CS 341

3

Programming Language Design and Implementation

CS 251, CS 301 and CS 361; or approval of department

CS 342

3

Software Design

CS 251

CS 361

3

Computer Systems

CS 251 and CS 261

CS 362

3

Computer Design

CS 261

CS 377

3

Communication and Ethical Issues in Computing

CS 251

CS 385

3

Operating Systems Concepts and Design

CS 361; or CS 201 & ECE 267

CS 401

3

Computer Algorithms I

‘C’ or better in CS 202 or MCS 360

CS 499

0

Professional Development Seminar

Senior & in last semester of study

Technical Electives (15 credit hours from the following, only one course maybe outside the CS rubric)

Course #

Hours

Course Title

Pre-Requisites

CS 398

3

Undergraduate Design/Research

Consent of the instructor

CS 411

3

Artificial Intelligence I

CS 202

CS 415

3

Computer Vision I

CS 202 or MCS 360; or consent of the instructor

CS 421

3

Natural Language Processing

CS 301 or MCS 441

CS 422

3

User Interface Design and Programming

CS 340

CS 424

3

Visualization and Visual Analytics

CS 201 or graduate standing; or consent of the instructor

CS 426

3

Video Game Design and Development

CS 107 & 201 & 488; or consent of the instructor

CS 440

3

Software Engineering I

CS 340

CS 441

3

Distributed Object Programming Using Middleware

CS 340 and CS 385

CS 442

3

Software Engineering II

CS 440

CS 450

3

Introduction to Networking

CS 202 and CS 385; and (STAT 381/401 or IE 342)

CS 455

3

Design and Implementation of Network Protocols

CS 340 and CS 450

CS 466

3

Advanced Computer Architecture

CS / ECE 366

CS 469

3

Computer Systems Design

CS 366; or ECE (366 & 368)

CS 473

3

Compiler Design

‘C’ or better in ((CS 301 or MCS 441) and (CS 202 or MCS 360) and (CS 266))

CS 474

3

Object-Oriented Languages and Environments

CS 340

CS 476

3

Programming Language Design

MCS 360 or CS 340

CS 480

3

Database Systems

CS 202

CS 485

4

Networked Operating Systems Programming

CS 385

CS 487

3

Building Secure Computer Systems

‘C’ or better in CS 385 and senior standing; or consent of the instructor

CS 488

3

Computer Graphics I

Credit or concurrent registration in CS 340

MCS 320

3

Introduction to Symbolic Computation

‘C’ or better in ((MATH 210) and (MCS 260 or CS 102 or CS 108))

MCS 425

3

Codes and Cryptography

‘C’ or better in ((MATH 215) and (MATH 310 or 320))

MCS 471

3

Numerical Analysis

‘C’ or better in (MCS 275 or CS 102 or CS 108); or consent of the instructor

MCS 481

3

Computational Geometry

‘C’ or better in CS/MCS 401 or cons. of instructor

STAT 471

3

Linear and Non-Linear Programming

‘C’ or better in MATH 310

Required Mathematics Courses (9 credit hours - one must be IE 342 or STAT 381).  Students who take IE 342 cannot get credit for STAT 381 or STAT 401; students may take both STAT 381 and 401.  Students may choose to use MCS 471 (Numerical Analysis) as either a CS technical elective or as a required Mathematics course (students may choose where to apply), but not as both.

Course #

Hours

Course Title

Pre-Requisites

IE 342

or

STAT 381

3

Probability and Statistics for Engineers

Applied Statistical Methods I

MATH 210

‘C’ or better in MATH 210

MATH 215

3

Introduction to Advanced Mathematics

‘C’ or better in MATH 181 & approval of the dept

MATH 220

3

Introduction to Differential Equations

‘C’ or better in MATH 210

MATH 310

or

MATH 320

3

Applied Linear Algebra

Linear Algebra I

‘C’ or better in MATH 210

Concurrent registration in MATH 215

MATH 430

3

Formal Logic I

‘C’ or better in (CS 202 / MCS 261 / MATH 215)

MATH 435

3

Foundations of Number Theory

‘C’ or better in MATH 215

MATH 436

3

Number Theory for Applications

‘C’ or better in MATH 435

MCS 421

3

Combinatorics

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 423

3

Graph Theory

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 471

3

Numerical Analysis

‘C’ or better in (MCS 275 or CS 102 or CS 108); or consent of the instructor

STAT 401

3

Introduction to Probability

‘C’ or better in MATH 210

STAT 473

3

Game Theory

‘C’ or better in MATH 310 or STAT 401

Humanities / Social Science / Arts Electives (Must complete 6 credit hours total)

  1. Any of the courses contained in the Exploring World Cultures, Understanding the Creative Arts, Understanding the Past, Understanding the Individual and Society or Understanding the U.S. Society course lists.
  2. Any course for which either a course in (1) or English 161 is a prerequisite.
  3. All courses in foreign languages, literature, and culture; and.
  4. All courses in the College of Architecture and Art except:  ARCH 220, AD 205, AD 488, Music 151, Music 152, Music 153, Music 154, Music 155, Music 156, Music 158, and Music 159.

Science Electives (10 hours total.  Must choose 2 courses from below).  If additional hours are necessary to complete the ten required hours, 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.

Course #

Hours

Course Title

Course #

Hours

Course Title

BIOS 100

5

Biology of Cells and Organisms

EAES 101

4

Global Environmental Change

BIOS 101

5

Biology of Populations & Communities

EAES 102

4

Earth, Energy and the Environment

CHEM 112

or CHEM 116

5

General College Chemistry I

Honors General College Chemistry I

PHYS 141

4

General Physics I (Mechanics)

CHEM 114

or CHEM 118

5

5

General College Chemistry II

Honors General College Chemistry II

PHYS 142

4

General Physics II (Electr. & Magnet.)

Free Electives (12 credit hours)

Please Note: Many departments and colleges restrict enrollment in their courses.  Please read the Undergraduate Catalog for information on which courses are open to students from the College of Engineering.


Appendix B:  Curriculum Sheet for Human-Centered Computing Concentration

Non-engineering and General Education Requirements (59 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGL 160

3

Academic Writing I: Writing for Acad. & Pub. Context

Satisfactory performance on dept. placement test

ENGL 161

3

Academic Writing II: Writing for Inquiry and Research

Engl 160 or the equivalent

MATH 180

5

Calculus I

‘C’ or better in MATH 121 or appropriate performance on the dept. placement test or Math ACT subscore of 28

MATH 181

5

Calculus II

‘C’ or better in MATH 180

MATH 210

3

Calculus III

‘C’ or better in MATH 181

MATH 220

3

Differential Equations

‘C’ or better in MATH 210

PHYS 141

4

General Physics I (Mechanics)

‘C’ or better in MATH 180

PHYS 142

4

General Physics II (Electricity and Magnetism)

‘C’ or better in MATH 181 and PHYS 141

EWC

3

Exploring World Cultures course

See General Education section for approved list

UCA

3

Understanding the Creative Arts course

See General Education section for approved list

UP

3

Understanding the Past

See General Education section for approved list

UIS

3

Understanding the Individual Society

See General Education section for approved list

UUUS

3

Understanding the U.S. Society course

See General Education section for approved list

H/SS/A

12

Humanities / Social Sciences / Art Electives

Must select from list approved by CS dept.: see below

SE

2

Science Electives

See below for details

Required Courses in CS & COE (54 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGR 100

0

Engineering Orientation

Admission to the College of Engineering

CS 111

3

Program Design I

None

CS 141

3

Program Design II

CS 111 & current/concurrent registration in MATH 180

CS 151

3

Mathematical Foundations of Computation

MATH 180; and ‘C’ or better in CS 141

CS 211

2

Programming Practicum

‘C’ or better in CS 141

CS 251

4

Data Structures

CS 151 & current/concurrent registration in CS 211

CS 261

3

Machine Organization

Current/concurrent registration in CS 211

CS 301

3

Languages and Automata

‘C’ or better in CS 201; and credit/concurrent registration in CS 202

CS 341

3

Programming Language Concepts

CS 251, CS 301 and CS 361; or approval of department

CS 342

3

Software Design

CS 251

CS 361

3

Computer Systems

CS 251 and CS 261

CS 362

3

Computer Design

CS 261

CS 377

3

Communication and Ethical Issues in Computing

CS 251

CS 385

3

Operating Systems Concepts and Design

CS 361; or CS 201 & ECE 267

CS 401

3

Computer Algorithms I

‘C’ or better in CS 202 or MCS 360

CS 422

3

User Interface Design and Programming

CS 340

CS 499

0

Professional Development Seminar

Senior & in last semester of study

Selectives

9

At least three of the following 3 hour courses

CS 411

3

Artificial Intelligence I

CS 202

CS 415

or

ECE 415

3

Computer Vision I

Image Analysis and Computer Vision I

CS 202 or MCS 360; or consent of the instructor

MATH 310; or “C” or better in ECE 310

CS 421

3

Natural Language Processing

CS 301 or MCS 441

CS 424

3

Visualization and Visual Analysis

CS 201; or consent of the instructor

CS 426

3

Video Game Design and Development

CS 107 & 201 & 488; or consent of the instructor

CS 488

3

Computer Graphics I

Credit or concurrent registration in CS 340

Technical Electives (Must complete at least 3 hours from among the following technical electives.  CS 411, CS 415, ECE 415, CS 421, CS 424, CS 426 and CS 488 may be used as either a selective course (above) or a technical elective but not both.)

Course #

Hours

Course Title

Pre-Requisites

CS 398

3

Undergraduate Design/Research

Consent of the instructor

CS 411

3

Artificial Intelligence I

CS 202

CS 415 or

ECE 415

3

Computer Vision I

Image Analysis and Computer Vision I

CS 202 or MCS 360; or consent of the instructor

MATH 310; or “C” or better in ECE 310

CS 421

3

Natural Language Processing

CS 301 or MCS 441

CS 424

3

Visualization and Visual Analysis

CS 201; or consent of the instructor

CS 426

3

Video Game Design and Development

CS 107 & 201 & 488; or consent of the instructor

CS 440

3

Software Engineering I

CS 340

CS 441

3

Distributed Object Programming Using Middleware

CS 340 and CS 385

CS 450

3

Introduction to Networking

CS 202 and CS 385; and (STAT 381/401 or IE 342)

CS 455

3

Design and Implementation of Network Protocols

CS 340 and CS 450

CS 466

3

Advanced Computer Architecture

CS 366 or ECE 366

CS 469

3

Computer Systems Design

CS 366; or ECE (366 and 368)

CS 473

3

Compiler Design

‘C’ or better in ((CS 301 or MCS 441) and (CS 202 or MCS 360) and (CS 266))

CS 474

3

Object-Oriented Languages and Environments

CS 340

CS 476

3

Programming Language Design

MCS 360 or CS 340

CS 480

3

Database Systems

CS 202

CS 485

4

Networked Operating Systems Programming

CS 385

CS 487

3

Building Secure Computer Systems

‘C’ or better in CS 385 and senior standing; or consent of the instructor

CS 488

3

Computer Graphics I

Credit or concurrent registration in CS 340

ECE 452

3

Robotics: Algorithms and Control

CS 201; and “C” or better in ECE (210 or 225)

MCS 320

3

Introduction to Symbolic Computation

‘C’ or better in (MATH 310 and (MCS 260 or CS 102 or CS 108))

MCS 471

3

Numerical Analysis

‘C’ or better in (MCS 275 or CS 102 or CS 108); or consent of the instructor

MCS 481

3

Computational Geometry

‘C’ or better in CS 401; or consent of the instructor

STAT 471

3

Linear and Non-Linear Programming

‘C’ or better in MATH 310

MATH 419

3

Models in Applied Mathematics

‘C’ or better in (MATH 220 or MCS 260)

Required Mathematics courses (6 credit hours)

Course #

Hours

Course Title

Pre-Requisites

IE 342*

or

STAT 381

3

Probability and Statistics for Engineers

Applied Statistical Methods

MATH 210

‘C’ or better in MATH 210

MATH 310

or

MATH 320

3

Applied Linear Algebra

Linear Algebra I

‘C’ or better in MATH 210

Concurrent registration in MATH 215

*Students who receive credit in IE 342 will not receive credit for either STAT 381 or STAT 401

Humanities / Social Science / Arts Electives (Must complete 12 credit hours total)

The HCC concentration requires at least three courses selected from the following list: PSCH 100, PSCH 242, AD 100, AD 452, AD 454, AD 456, COMM 430, COMM 316, COMM 460 (to enroll in these courses students will have to go to the respective departments to get an override on pre-requisites/courses).  Additional courses can come from the list or

  1. Any of the courses contained in the General Education Core list.
  2. Any course for which either a course in (1) or English 161 is a prerequisite.
  3. All courses in foreign languages, literature, and culture; and.
  4. All courses in the College of Architecture and Art except:  ARCH 220, AD 205, AD 488, Music 151, Music 152, Music 153, Music 154, Music 155, Music 156, Music 158, and Music 159.
  5. IE 201 – Engineering Economy.

Science Electives (2 hours).  Every student must take a total of at least 2 additional credit hours in the science area to make up a total of 10 credits. Additional courses may be other courses on this list, courses that have PHYS 141, PHYS 142, or any of these courses as prerequisites, or other courses from a list maintained by the Department of Computer Science of certain additional courses in Engineering and quantitative social sciences.

Course #

Hours

Course Title

Course #

Hours

Course Title

CHEM 112

or CHEM 116

5

General College Chemistry I

Honors General College Chemistry I

BIOS 100

BIOS 101

5

5

Biology of Cells and Organisms

CHEM 114

or CHEM 118

5

5

General College Chemistry II

Honors General College Chemistry II

EAES 101

EAES 102

4

4

Global Environmental Change

Earth, Energy and the Environment

Free Electives (6 credit hours)

Please Note: Many departments and colleges restrict enrollment in their courses.  Please read the Undergraduate Catalog for information on which courses are open to students from the College of Engineering.


Appendix C:  Curriculum Sheet for Computer Systems Concentration

Non-engineering and General Education Requirements (50 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGL 160

3

Academic Writing I: Writing for Acad. & Pub. Context

Satisfactory performance on dept. placement test

ENGL 161

3

Academic Writing II: Writing for Inquiry and Research

Engl 160 or the equivalent

MATH 180

5

Calculus I

‘C’ or better in MATH 121 or appropriate performance on the dept. placement test or Math ACT subscore of 28

MATH 181

5

Calculus II

‘C’ or better in MATH 180

MATH 210

3

Calculus III

‘C’ or better in MATH 181

EWC

3

Exploring World Cultures course

See General Education section for approved list

UCA

3

Understanding the Creative Arts course

See General Education section for approved list

UP

3

Understanding the Past course

See General Education section for approved list

UIS

3

Understanding the Individual and Society course

See General Education section for approved list

UUUS

3

Understanding the U.S. Society course

See General Education section for approved list

H/SS/A

6

Humanities / Social Sciences / Art Electives

Must be selected from list approved by CS department

SE

10

Science Electives

See below for details

Required Courses in CS & COE (42 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGR 100

0

Engineering Orientation

Admission to the College of Engineering

CS 111

3

Program Design I

None

CS 141

3

Program Design II

CS 111 & current/concurrent registration in MATH 180

CS 151

3

Mathematical Foundations of Computation

MATH 180; and ‘C’ or better in CS 141

CS 211

2

Programming Practicum

‘C’ or better in CS 141

CS 251

4

Data Structures

CS 151 & current/concurrent registration in CS 211

CS 261

3

Machine Organization

Current/concurrent registration in CS 211

CS 301

3

Languages and Automata

‘C’ or better in CS 201; and credit/concurrent registration in CS 202

CS 341

3

Programming Language Concepts

CS 251, CS 301 and CS 361; or approval of department

CS 342

3

Software Design

CS 251

CS 361

3

Computer Systems

CS 251 and CS 261

CS 362

3

Computer Design

CS 261

CS 377

3

Communication and Ethical Issues in Computing

CS 251

CS 385

3

Operating Systems Concepts and Design

CS 361; or CS 201 & ECE 267

CS 401

3

Computer Algorithms I

‘C’ or better in CS 202 or MCS 360

CS 499

0

Professional Development Seminar

Senior & in last semester of study

Technical Electives (15 credit hours from the following – only one course maybe outside the CS rubric).  Four courses must be chosen from the following: CS 450, CS 466, CS 469, CS 473, CS 487 and ECE 367).

Course #

Hours

Course Title

Pre-Requisites

CS 398

3

Undergraduate Design/Research

Consent of the instructor

CS 411

3

Artificial Intelligence I

CS 202

CS 415

3

Computer Vision I

CS 202 or MCS 360; or consent of the instructor

CS 421

3

Natural Language Processing

CS 301 or MCS 441

CS 422

3

User Interface Design and Programming

CS 340

CS 424

3

Visualization and Visual Analytics

CS 201 or graduate standing; or consent of the instructor

CS 426

3

Video Game Design and Development

CS 107 & 201 & 488; or consent of the instructor

CS 440

3

Software Engineering I

CS 340

CS 441

3

Distributed Object Programming Using Middleware

CS 340 and CS 385

CS 442

3

Software Engineering II

CS 440

CS 450

3

Introduction to Networking

CS 202 and CS 385; & (STAT 381/401 or IE 342)

CS 455

3

Design and Implementation of Network Protocols

CS 340 and CS 450

CS 466

3

Advanced Computer Architecture

CS / ECE 366

CS 469

3

Computer Systems Design

CS 366; or ECE (366 and 368)

CS 473

3

Compiler Design

‘C’ or better in ((CS 301 or MCS 441) and (CS 202 or MCS 360) and (CS 266))

CS 474

3

Object-Oriented Languages and Environments

CS 340

CS 476

3

Programming Language Design

MCS 360 or CS 340

CS 480

3

Database Systems

CS 202

CS 485

4

Networked Operating Systems Programming

CS 385

CS 487

3

Building Secure Computer Systems

‘C’ or better in CS 385 and senior standing; or consent of the instructor

CS 488

3

Computer Graphics I

Credit or concurrent registration in CS 340

ECE 367

4

Microprocessor-Based Design

ECE 267 and “C” or better in (ECE 265 or CS 366)

MCS 320

3

Introduction to Symbolic Computation

‘C’ or better in ((MATH 210) and (MCS 260 or CS 102 or CS 108))

MCS 425

3

Codes and Cryptography

‘C’ or better in ((MATH 215) and (MATH 310 or 320))

MCS 471

3

Numerical Analysis

‘C’ or better in (MCS 275 or CS 102 or CS 108); or consent of the instructor

MCS 481

3

Computational Geometry

‘C’ or better in CS/MCS 401 or cons. of instructor

STAT 471

3

Linear and Non-Linear Programming

‘C’ or better in MATH 310

Required Mathematics Courses (9 credit hours - one must be IE 342 or STAT 381).  Students who take IE 342 will not receive credit for either STAT 381 or STAT 401; students may take both STAT 381 and 401.  MCS 471 may be used to satisfy only of the Mathematical and Technical elective requirements (student may choose where it is applied).

Course #

Hours

Course Title

Pre-Requisites

IE 342

or

STAT 381

3

Probability and Statistics for Engineers

Applied Statistical Methods I

MATH 210

‘C’ or better in MATH 210

MATH 215

3

Introduction to Advanced Mathematics

‘C’ or better in MATH 181 & approval of the dept

MATH 220

Introduction to Differential Equations

MATH 310

or

MATH 320

3

Applied Linear Algebra

Linear Algebra I

‘C’ or better in MATH 210

Concurrent registration in MATH 215

MATH 430

3

Formal Logic I

‘C’ or better in (CS 202 / MCS 261 / MATH 215)

MATH 435

3

Foundations of Number Theory

‘C’ or better in MATH 215

MATH 436

3

Number Theory for Applications

‘C’ or better in MATH 435

MCS 421

3

Combinatorics

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 423

3

Graph Theory

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 471

3

Numerical Analysis

‘C’ or better in (MCS 275 or CS 102 or CS 108)

STAT 401

3

Introduction to Probability

‘C’ or better in MATH 210

STAT 472

3

Game Theory

Humanities / Social Science / Arts Electives (Must complete 6 credit hours total)

  1. Any of the courses contained in the Exploring World Cultures, Understanding the Creative Arts, Understanding the Past, Understanding the Individual and Society or Understanding the U.S. Society course lists.
  2. Any course for which either a course in (1) or English 161 is a prerequisite.
  3. All courses in foreign languages, literature, and culture; and.
  4. All courses in the College of Architecture and Art except:  ARCH 220, AD 205, AD 488, Music 151, Music 152, Music 153, Music 154, Music 155, Music 156, Music 158, and Music 159.

Science Electives (10 hours total.  Must choose 2 courses from below).  If additional hours are necessary to complete the ten required hours, 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.

Course #

Hours

Course Title

Course #

Hours

Course Title

BIOS 100

5

Biology of Cells and Organisms

EAES 101

4

Global Environmental Change

BIOS 101

5

Biology of Populations & Communities

EAES 102

4

Earth, Energy and the Environment

CHEM 112

or CHEM 116

5

General College Chemistry I

Honors General College Chemistry I

PHYS 141

4

General Physics I (Mechanics)

CHEM 114

or CHEM 118

5

5

General College Chemistry II

Honors General College Chemistry II

PHYS 142

4

General Physics II (Electr. & Magnet.)

Free Electives (12 credit hours)

Please Note: Many departments and colleges restrict enrollment in their courses.  Please read the Undergraduate Catalog for information on which courses are open to students from the College of Engineering.


Appendix D:  Curriculum Sheet for Software Engineering Concentration

Non-engineering and General Education Requirements (50 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGL 160

3

Academic Writing I: Writing for Acad. & Pub. Context

Satisfactory performance on dept. placement test

ENGL 161

3

Academic Writing II: Writing for Inquiry and Research

Engl 160 or the equivalent

MATH 180

5

Calculus I

‘C’ or better in MATH 121 or appropriate performance on the dept. placement test or Math ACT subscore of 28

MATH 181

5

Calculus II

‘C’ or better in MATH 180

MATH 210

3

Calculus III

‘C’ or better in MATH 181

EWC

3

Exploring World Cultures course

See General Education section for approved list

UCA

3

Understanding the Creative Arts course

See General Education section for approved list

UP

3

Understanding the Past course

See General Education section for approved list

UIS

3

Understanding the Individual and Society course

See General Education section for approved list

UUUS

3

Understanding the U.S. Society course

See General Education section for approved list

H/SS/A

6

Humanities / Social Sciences / Art Electives

Must be selected from list approved by CS department

SE

10

Science Electives

See below for details

Required Courses in CS & COE (51 Credit hours)

Course #

Hours

Course Title

Pre-Requisites

ENGR 100

0

Engineering Orientation

Admission to the College of Engineering

CS 111

3

Program Design I

None

CS 111

3

Program Design II

CS 111 & current/concurrent registration in MATH 180

CS 151

3

Mathematical Foundations of Computation

MATH 180; and ‘C’ or better in CS 141

CS 211

2

Programming Practicum

‘C’ or better in CS 141

CS 251

4

Data Structures

CS 151 & current/concurrent registration in CS 211

CS 261

3

Machine Organization

Current/concurrent registration in CS 211

CS 301

3

Languages and Automata

‘C’ or better in CS 201; and credit/concurrent registration in CS 202

CS 341

3

Programming Language Concepts

CS 251, CS 301 and CS 361; or approval of department

CS 342

3

Software Design

CS 251

Cs 361

3

Computer Systems

CS 251 and CS 261

CS 362

3

Computer Design

CS 261

CS 377

3

Communication and Ethical Issues in Computing

CS 251

CS 385

3

Operating Systems Concepts and Design

CS 361; or CS 201 & ECE 267

CS 401

3

Computer Algorithms I

“C” or better in CS 202 or MCS 360

CS 440

3

Software Engineering I

CS 340

CS 442

3

Software Engineering II

CS 440

IE 342

3

Probability and Statistics for Engineers

MATH 210

CS 499

0

Professional Development Seminar

Senior & in last semester of study

Technical Electives (9 credit hours from the following – only one course maybe outside the CS rubric).  Two courses must be from the following list: CS 422, CS 441, CS 474 and CS 480.

Course #

Hours

Course Title

Pre-Requisites

CS 398

3

Undergraduate Design/Research

Consent of the instructor

CS 411

3

Artificial Intelligence I

CS 202

CS 421

3

Natural Language Processing

CS 301 or MCS 441

CS 422

3

User Interface Design and Programming

CS 340

CS 424

3

Visualization and Visual Analytics

CS 201 or graduate standing; or consent of the instructor

CS 426

3

Video Game Design and Development

CS 107 & 201 & 488; or consent of the instructor

CS 441

3

Distributed Object Programming Using Middleware

CS 340 and CS 385

CS 450

3

Introduction to Networking

CS 202 and CS 385; and (STAT 381/401 or IE 342)

CS 455

3

Design and Implementation of Network Protocols

CS 340 and CS 450

CS 473

3

Compiler Design

‘C’ or better in ((CS 301 or MCS 441) and (CS 202 or MCS 360) and (CS 266))

CS 474

3

Object-Oriented Languages and Environments

CS 340

CS 476

3

Programming Language Design

MCS 360 or CS 340

CS 480

3

Database Systems

CS 202

CS 485

4

Networked Operating Systems Programming

CS 385

CS 487

3

Building Secure Computer Systems

‘C’ or better in CS 385 and senior standing; or consent of the instructor

CS 488

3

Computer Graphics I

Credit or concurrent registration in CS 340

IE 345

3

Regression Applications and Forecasting in Engineering

IE 342

MCS 425

3

Codes and Cryptography

‘C’ or better in ((MATH 215) and (MATH 310 or 320))

STAT 471

3

Linear and Non-Linear Programming

‘C’ or better in MATH 310

Required Mathematics courses (6 credit hours - MCS 471 may count towards only one of the Technical Elective and Mathematics Requirements (students may choose where to apply).

Course #

Hours

Course Title

Pre-Requisites

MATH 215

3

Introduction to Advanced Mathematics

‘C’ or better in MATH 181 & approval of the dept

MATH 220

3

Introduction to Differential Equations

‘C’ or better in MATH 210

MATH 310

or

MATH 320

3

Applied Linear Algebra

Linear Algebra I

‘C’ or better in MATH 210

Concurrent registration in MATH 215

MATH 430

3

Formal Logic I

‘C’ or better in (CS 202 / MCS 261 / MATH 215)

MATH 435

3

Foundations of Number Theory

‘C’ or better in MATH 215

MATH 436

3

Number Theory for Applications

‘C’ or better in MATH 435

MCS 421

3

Combinatorics

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 423

3

Graph Theory

‘C’ or better in ((MATH 215) and (MATH 310 or 320)); or consent of the instructor

MCS 471

3

Numerical Analysis

‘C’” or better in (MCS 275 or CS 102 or CS 108); or consent of the instructor

STAT 473

3

Game Theory

‘C’ or better in (MATH 310 or STAT 401)

Humanities / Social Science / Arts Electives (Must complete 6 credit hours total)

  1. Any of the courses contained in the Exploring World Cultures, Understanding the Creative Arts, Understanding the Past, Understanding the Individual and Society or Understanding the U.S. Society course lists.
  2. Any course for which either a course in (1) or English 161 is a prerequisite.
  3. All courses in foreign languages, literature, and culture; and.
  4. All courses in the College of Architecture and Art except:  ARCH 220, AD 205, AD 488, Music 151, Music 152, Music 153, Music 154, Music 155, Music 156, Music 158, and Music 159.
  5. IE 201 – Engineering Economy.

Science Electives (10 hours total.  Must choose 2 courses from below).  If additional hours are necessary to complete the ten required hours, 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.

Course #

Hours

Course Title

Course #

Hours

Course Title

BIOS 100

5

Biology of Cells and Organisms

EAES 101

4

Global Environmental Change

BIOS 101

5

Biology of Populations & Communities

EAES 102

4

Earth, Energy and the Environment

CHEM 112

or CHEM 116

5

General College Chemistry I

Honors General College Chemistry I

PHYS 141

4

General Physics I (Mechanics)

CHEM 114

or CHEM 118

5

5

General College Chemistry II

Honors General College Chemistry II

PHYS 142

4

General Physics II (Electr. & Magnet.)

Free Electives (12 credit hours)

PE Exam: 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.

Please Note: Many departments and colleges restrict enrollment in their courses.  Please read the Undergraduate Catalog for information on which courses are open to students from the College of Engineering.