Professional Organization Checklist for the Computer Science Curriculum Updates
Association of Computing Machinery Computing Curricula 2008
The curriculum guidelines can be found in Appendix C of the report Computer Science Curriculum 2008: An Interim Revision of CS 2001. The report can be found at:
http://www.acm.org//education/curricula/ComputerScience2008.pdf.
Standard Course Number
Course Title Discrete Structures
• Functions, relations and sets
• Basic logic
• Proof techniques
• Basics of counting
• Graphs and trees
• Discrete Probability
CSC 254 CSC 354
MTH 164 MTH 174 MTH 343 MTH 144 MTH 131
MTH 274*
MTH 203*
MTH 233*
MTH 312*
MTH 373*
MTH 382*
MTH 392*
Data Structures and Algorithms Algorithm Analysis and Theory of
Computation Calculus I Calculus II
Discrete Mathematics
Calculus with Applications (BA option only)
Computer Aided Calculus (BA option only)
Calculus III
Introduction to Statistics Linear Algebra
Advanced Linear Algebra Mathematical Modeling Mathematical Statistics Mathematical Probability Programming Fundamentals
• Fundamental constructs
• Algorithmic problem solving
• Data structures
• Recursion
• Event driven programming
• Object oriented
• Foundations information security
• Secure programming
CSC 133 CSC 143
CSC 154 CSC 254 CSC 354
Introduction to Computer Science and Information Systems
Introduction to Computer Programming
Fundamentals of Computer Science Data Structures and Algorithms Algorithm Analysis and Theory of
Computation
Algorithms and Complexity
• Basic analysis
• Algorithmic strategies
• Fundamental algorithms
• Distributed algorithms
• Basic computability
• P versus NP (elective)
• Automata theory (elective)
• Advanced analysis (elective)
• Cryptographic algorithms (elective)
• Geometric algorithms (elective)
• Parallel algorithms (elective)
CSC 133 CSC 143
CSC 154 CSC 254 CSC 354
CSC 394 CSC 412 CSC 422
Introduction to Computer Science and Information Systems
Introduction to Computer Programming
Fundamentals of Computer Science Data Structures and Algorithms Algorithm Analysis and Theory of
Computation Programming Languages Topics in Computer Science Theory of Computation
Deleted: MTH 344
Deleted: MTH 232
Deleted: 34
Deleted: Applied Mathematics Deleted: CSC 132
Deleted: CSC 142 Deleted: CSC 154
Deleted: Introduction to Computer Science
Deleted: CSC 132
Deleted: CSC 142 Deleted: CSC 154
Deleted: Introduction to Computer Science
Architecture and Organization
• Digital logic and data representation
• Computer architecture and organization
• Interfacing and I/O strategies
• Memory architecture
• Functional organization
• Multiprocessing
• Performance enhancements (elective)
• Distributed architectures (elective)
• Devices (elective)
• Directions in computing (elective)
CSC 133
CSC 314 CSC 354 CSC 454
Introduction to Computer Science and Information Systems
Operating Systems
Algorithm Analysis and Theory of Computation
Computer Architecture and Assembly Language
Operating Systems
• Overview of operating systems
• Operating system principles
• Concurrency
• Scheduling and dispatch
• Memory management
• Device management (elective)
• Security and protection (elective)
• File systems (elective)
• Real time and embedded systems (elective)
• Fault tolerance (elective)
• System performance evaluation (elective)
• Scripting (elective)
• Digital forensics (elective)
• Security models (elective)
CSC 133
CSC 314 CSC 354
CSC 394 CSC 454 CSC 412
Introduction to Computer Science and Information Systems
Operating Systems
Algorithm Analysis and Theory of Computation
Programming Languages
Computer Architecture and Assembly Language
Topics in Computer Science
Net Centric Computing
• Introduction
• Network communications
• Network security
• Web organization (elective)
• Networked applications (elective)
• Network management (elective)
• Compression (elective)
• Multimedia technologies (elective)
• Mobile computing (elective)
CSC 133
CSC 314 CSC 374 CSC 412
Introduction to Computer Science and Information Systems
Operating Systems
Computer Networking and Security Topics in Computer Science
Programming Languages
• Overview
• Virtual machines
• Basic language translation
• Declarations and types
• Abstraction mechanisms
• Object oriented programming
• Functional programming (elective)
• Language translation systems (elective)
• Type systems (elective)
• Programming language semantics (elective)
• Programming language design (elective)
CSC 143 CSC 154 CSC 254 CSC 354 CSC 394
Introduction to Computer Programming
Fundamentals of Computer Science Data Structures and Algorithms Algorithm Analysis and Theory of
Computation Programming Languages
Deleted: CSC 132
Deleted: Introduction to Computer Science
Deleted: CSC 132
Deleted: Introduction to Computer Science
Deleted: CSC 132
Deleted: CSC 373*
Deleted: Introduction to Computer Science
Deleted: Computer Networking
Deleted: CSC 142 Deleted: CSC 154
Human-Computer Interactions
• Building GUI interfaces
• User centered software evaluation (elective)
• User centered software development (elective)
• GUI design (elective)
• GUI programming (elective)
• Multimedia and multimodal systems (elective)
• Collaboration and communication (elective)
• Interaction design for new environments (elective)
• Human factors and security (elective)
CSC 154 ISS 242*
ISS 424*
Fundamentals of Computer Science Visual Programming for Business
Applications
Internet Applications Development
Graphics and Visual Computing
• Fundamental techniques
• Graphic systems
• Graphic communication (elective)
• Geometric modeling (elective)
• Basic rendering (elective)
• Advanced rendering (elective)
• Advanced techniques (elective)
• Computer animation (elective)
• Visualization (elective)
• Virtual reality (elective)
• Computer vision (elective)
• Computational geometry (elective)
• Game engine programming (elective)
CSC 154 CSC 412
Fundamentals of Computer Science Topics in Computer Science
Intelligent Systems
• Fundamental issues
• Basic search strategies
• Knowledge based reasoning
• Advanced search (elective)
• Advanced reasoning (elective)
• Agents (elective)
• Natural language processing (elective)
• Machine learning (elective)
• Planning systems (elective)
• Robotics (elective)
• Perception (elective)
CSC 143
CSC 154 CSC 254 CSC 324 CSC 354
CSC 412 MTH 343
Introduction to Computer Programming
Fundamentals of Computer Science Data Structures and Algorithms Software Engineering
Algorithm Analysis and Theory of Computation
Topics in Computer Science Discrete Mathematics
Deleted: CSC 154
Deleted: (consider adding as elective
Deleted: CSC 154
Deleted: CSC 142 Deleted: CSC 154
Deleted: MTH 344
Information Management
• Information models
• Database systems
• Data modeling
• Indexing (elective)
• Relational databases (elective)
• Query languages (elective)
• Relational database design (elective)
• Transaction processing (elective)
• Distributed databases (elective)
• Physical database design (elective)
• Data mining (elective)
• Information storage and retrieval (elective)
• Hypermedia (elective)
• Multimedia systems (elective)
• Digital libraries (elective)
CSC 133 I SS 414*
Introduction to Computer Science and Information Systems
Database Management Systems
Social and Professional Issues
• History of computing
• Social context
• Analytical tools
• Professional ethics
• Risks
• Security operations (elective)
• Intellectual property (elective)
• Privacy and civil liberties (elective)
• Computer crime (elective)
• Economics of computing (elective)
• Philosophical frameworks (elective)
CSC 133
CSC 314 CSC 354
CSC 394 CSC 412 ISS 242*
ISS 472^
CSC496^ &
CSC 497 CSC 498^ &
CSC 499 HON 498^ &
HON 499
Introduction to Computer Science and Information Systems
Operating Systems
Algorithm Analysis and Theory of Computation
Programming Languages Topics in Computer Science Visual Programming for Business
Applications
Internship in Computer Information Systems
Service Learning in Computer Science I and II
Independent Research in Computer Science I and II
Honors Research I and II Software Engineering
• Software design
• Using APIs
• Tools and environments
• Software processes
• Requirements specifications
• Software verification validation
• Software evolution
• Software project management
• Component based computing (elective)
• Formal methods (elective)
• Software reliability (elective)
• Specialized systems (elective)
• Risk assessment (elective)
• Robust and security-enhanced programming (elective)
CSC 143
CSC 154 CSC 254 CSC 324 CSC 394 CSC 493
Introduction to Computer Programming
Fundamentals of Computer Science Data Structures and Algorithms Software Engineering
Programming Languages Software Project
Deleted: CSC 132
Deleted: Introduction to Computer Science
Deleted: CSC 132
Deleted: ¶ ISS 232*¶
Deleted: Introduction to Computer Science
Deleted: ¶
Introduction to Computer Information Systems (consider adding)
Deleted: (consider adding)
Deleted: CSC 142 Deleted: CSC 154
Deleted: CSC 494
Computational Science
• Modeling and simulation (elective)
• Operations research (elective)
• Parallel computation (elective)
CSC 354
CSC 422 CSC 454
Algorithm Analysis and Theory of Computation
Theory of Computation
Computer Architecture and Assembly Language
*Class is an elective
^We believe that an integrative experience is an essential part of a student’s preparation as a professional. These experiences involve several of the standards above. Each student must choose one of:
ISS 472 Internship in Computer Information Systems
CSC496 & CSC 497 Service Learning in Computer Science I and II CSC 498 &CSC 499 Independent Research in Computer Science I and II HON 498 & HON 499 Honors Project I and II