Undergrad Curriculum Redesign: Reasons

Download Report

Transcript Undergrad Curriculum Redesign: Reasons

Undergraduate Curriculum
Revision
Department of Computer Science
February 10, 2010
1
Current Core
CS 177 Introduction to Computer Science
CS 180 Programming I
CS 182 Foundations of Computer Science
CS 240 Programming in C
CS 250 Computer Architecture
CS 251 Data Structures
CS 352 Compilers: Principles and Practice
CS 354 Operating Systems
CS 381 Introduction to the Analysis of Algorithms
2
4 CS electives at or above the
300 level
CS 314 Numerical Methods
CS 334 Fundamentals of Computer Graphics
CS 348 Information Systems
CS 355 Introduction to Cryptography
CS 307 Software Engineering I
CS 422 Computer Networks
CS 426 Computer Security
CS 434 Advanced Computer Graphics
CS 448 Intro to Relational Database Systems
CS 456 Programming Languages
CS 471 Intro to Artificial Intelligence
CS 478 Intro to Bioinformatics
CS 483 Intro to the Theory of Computation
3
Revised Curriculum
• Common Core courses (6 courses)
– Cover majority of essential knowledge, skills,
experiences (100 and 200 level courses)
• Track (6 more courses) (300 and 400 level
courses)
• Faculty in Track area determine details, for
example…
– 3 Track required courses
– 3 Track electives
– Senior Design and Development Project (may be
used as elective as decided by faculty in Track area)
4
Common Core
CS 180 - Problem Solving and ObjectOriented Programming
CS 182 - Foundations of Computer Science
CS 240 - Programming in C
CS 250 - Computer Architecture
CS 251 - Data Structures and Algorithms
CS 2XX - Systems Programming
5
Comments on Common Core
• Core consists of only freshman and sophomore level
courses
• Core can be completed in 3-4 semesters
• Tracks can begin in 4th or 5th semester
• Core covers knowledge that all students must know
(breadth)
• Tracks do not weaken BS degree; they allow for
selected depth
6
Computer Graphics and Visualization Track
(still being revised)
Required Courses
•
CS 314 Numerical Computing
•
CS 334 Fundamentals of Computer Graphics
•
CS 434 Advanced Topics in Computer Graphics, Visualization, and Computational
Geometry
Electives (any 3)
•
CS 314 Numerical Computing
•
CS 352 Compilers
•
CS 354 Operating Systems
•
CS 381 Introduction to the Analysis of Algorithms
•
CS 422 Networking
•
CS 448 Databases
•
CS 471 AI
•
CS 490G Gaming
•
1-2 semester project
7
Database, Information Systems Track
Required Courses
•
CS 348 Information Systems
•
CS 448 Relational Databases
•
CS 490-xxx Information Retrieval
Electives (Select at least one course from each of these three categories)
•
–
–
•
–
–
•
–
–
Category I
CS 307 Software Engineering
CS 471 Artificial Intelligence
Category II
CS 355 Introduction to Cryptography
CS 426 Computer Security
Category III
CS 354 Operating Systems
CS 422 Computer Networks
8
Foundations of Computer Science Track
(still being revised)
Required Courses
•
CS 352 - Compilers: Principles and Practice
•
CS 381 - Introduction to the Analysis of Algorithms
Electives (any 3)
•
CS 314 Numerical Methods
•
CS 355 Introduction to Cryptography
•
CS 456 Programming Languages
•
CS 471 Introduction to Artificial Intelligence
•
CS 483 Introduction to the Theory of Computation
•
CS 4XX Information Retrieval
Choose one elective at the 300, 400, or 500 level or an independent study
9
Programming Language Track
Required Courses
•
CS 352 Compilers
•
CS 354 Operating Systems
•
CS 456 Programming Languages
Electives (any 3)
•
CS 307 Software Engineering
•
CS 348 Information Systems
•
CS 390 Concurrency and Parallelism
•
CS 422 Computer Networks
•
CS 426 Computer Security
•
CS 448 Introduction to Relational Database Systems
•
CS 4xx Embedded systems
•
CS 490M Multicore Architecture
10
Security Track
Required Courses
•
CS 354 Operating Systems
•
CS 355 Introduction to Cryptography
•
CS 426 Computer Security
Electives (any 3)
•
CS 307 Software Engineering
•
CS 348 Introduction to Information Systems
•
CS 381 Introduction to the Analysis of Algorithms
•
CS 422 Computer Networks
•
CS 448 Introduction to Relational Database Systems
•
CS 490-xxx Software Testing
11
Software Engineering Track (still being revised)
Required Courses
•
CS 307 Software Engineering
•
CS 490-xxx Software Testing
•
CS 490-xxx Senior Design Project
Electives (any 3)
•
CS 348 Information Systems
•
CS 352 Compilers: Principles and Practice
•
CS 354 Operating Systems
•
CS 422 Computer Networks
•
CS 426 Computer Security
•
CS 448 Introduction to Relational Database Systems
•
CS 456 Programming Languages
12
Systems Programming Track
Required Courses
•
CS 352 Compilers
•
CS 354 Operating Systems
•
CS 422 Computer Networking
Electives (any 3)
•
CS 307 Software Engineering I
•
CS 334 Fundamentals of Computer Graphics
•
CS 426 Computer Security
•
CS 448 Introduction to Relational Databases
•
CS 456 Programming Languages
•
Sr. Project (Example: EPCS401 EPICS design)
13