1 / 24

Computer Science Curriculum 2008

Computer Science Curriculum 2008. Summary by Zaheer. More attention needed on. Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering Management information systems Systems issues Professional practice Learning outcomes

anahid
Download Presentation

Computer Science Curriculum 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer ScienceCurriculum 2008 Summary by Zaheer

  2. More attention needed on • Security • Certain Topics • Concurrency • Net-centric computing • Human computer interaction • Software engineering • Management information systems • Systems issues • Professional practice • Learning outcomes • Communication skills • Teaching of PL and multiple paradigms

  3. Industry feedback • Security • Access, encryption, networking, safe programming • Quality issues • Debugging, reliability, documentation • Software engineering principles and techniques • Release mgmt, source control principles, working in teams • Code archeology • Making sense of big, ill-documented code bases • Performance tuning

  4. Industry feedback • Want students who have contributed to open source • Have industry internships • Have done systems software projects • Good compiler writers (even if the company is not in that business) • The thing that we can't afford to do […] is teach candidates how to think critically, to be effective problem, solvers, and to have basic mastery of programming languages, data structures, algorithms, concurrency, networking, computer architecture, and discrete math / probability / statistics. I can't begin to emphasize the importance of algorithms and data structures to the work we do here

  5. Knowledge Areas • Discrete Structures • Programming Fundamentals • Algorithms and Complexity • Architecture and Organization • Information Management • Net-Centric Computing • Programming Languages • Human-Computer Interaction • Graphics and Visual Computing • Intelligent Systems • Operating Systems • Social and Professional Issues • Software Engineering • Computational Science

  6. Changes • Discrete Structures • Less on purely formal (symbolic) proof, more on rigorous and sound proof arguments. • Programming Fundamentals • More on care and attention in the teaching of basic programming. • Computer Architecture • Less on logic design level, more on architectural issues (multi-core processors, devices) • Net-centric computing • circuit switching, packet switching, streams and datagrams, common gateway interface programs dropped. • service-oriented-architecture and grid computing added.

  7. Changes (contd.) • Intelligent Systems • more on Perception, planning, ontologies, games, or entertainment software • Social and Professional Issues • more on identity theft, cultural issues • Computational Science • Numerical methods have been dropped

  8. Characteristics of Graduates • System-level perspective. • No fragmented view • Appreciation of the interplay between theory and practice. • how that theory influences practice. • Familiarity with common themes and principles. • abstraction, complexity, and evolutionary change. • the principle of locality, sharing a common resource, security, concurrency,

  9. Characteristics of Graduates • Significant project experience • at least one substantial software project • the need for domain knowledge for certain applications • Attention to rigorous thinking • planning, tracking progress, measuring and generally managing quality • Adaptability • enormous pace of change

  10. DS. Discrete Structures (43 core hours) • DS/Functions Relations and Sets (6) • DS/Basic Logic (10) • DS/Proof Techniques (12) • DS/Basics of Counting (5) • DS/Graphs and Trees (4) • DS/Discrete Probability (6)

  11. PF. Programming Fundamentals (47 core hours) • PF/Fundamental Constructs (9) • PF/Algorithmic Problem Solving (6) • PF/Data Structures (10) • PF/Recursion (4) • PF/Event Driven Programming (4) • PF/Object Oriented (8) • PF/Foundations Information Security (4) • PF/Secure Programming (2)

  12. AL. Algorithms and Complexity (31 core hours) • AL/Basic Analysis (4) • AL/Algorithmic Strategies (6) • AL/Fundamental Algorithms (12) • AL/Distributed Algorithms (3) • AL/Basic Computability (6) • AL/P versus NP • AL/Automata Theory • AL/Advanced Analysis • AL/Cryptographic Algorithms • AL/Geometric Algorithms • AL/Parallel Algorithms

  13. AR. Architecture and Organization (36 core hours) • AR/Digital Logic and Data Representation (7) • AR/Computer Architecture and Organization (9) • AR/Interfacing and I/O Strategies (3) • AR/Memory Architecture (5) • AR/Functional Organization (6) • AR/Multiprocessing (6) • AR/Performance Enhancements • AR/Distributed Architectures • AR/Devices • AR/Directions in Computing

  14. OS. Operating Systems (18 core hours) • OS/Overview of Operating Systems (2) • OS/Operating System Principles (2) • OS/Concurrency (6) • OS/Scheduling and Dispatch (3) • OS/Memory Management (3) • OS/Device Management • OS/Security and Protection (2) • OS/File Systems • OS/Real Time and Embedded Systems • OS/Fault Tolerance • OS/System Performance Evaluation • OS/Scripting • OS/Digital Forensics • OS/Security Models

  15. NC. Net-Centric Computing (15 core hours) • NC/Introduction(2) • NC/Network Communication (7) • NC/Network Security (6) • NC/Web Organization • NC/Networked Applications • NC/Network Management • NC/Compression • NC/Multimedia Technologies • NC/Mobile Computing

  16. PL. Programming Languages (21 core hours) • PL/Overview(2) • PL/Virtual Machines(1) • PL/Basic Language Translation(2) • PL/Declarations and Types(3) • PL/Abstraction Mechanisms(3) • PL/Object Oriented Programming(10) • PL/Functional Programming • PL/Language Translation Systems • PL/Type Systems • PL/Programming Language Semantics • PL/Programming Language Design

  17. HC. Human-Computer Interaction (8 core hours) • HC/Foundations (6) • HC/Building GUI Interfaces (2) • HC/User Centered Software Evaluation • HC/User Centered Software Development • HC/GUI Design • HC/GUI Programming • HC/Multimedia and Multimodal Systems • HC/Collaboration and Communication • HC/Interaction Design for new Environments • HC/Human Factors and Security

  18. GV. Graphics and Visual Computing (3 core hours) • GV/Fundamental Techniques (2) • GV/Graphic Systems (1) • GV/Graphic Communication • GV/Geometric Modeling • GV/Basic Rendering • GV/Advanced Rendering • GV/Advanced Techniques • GV/Computer Animation • GV/Visualization • GV/Virtual Reality • GV/Computer Vision • GV/Computational Geometry • GV/Game Engine Programming

  19. IS. Intelligent Systems (10 core hours) • IS/Fundamental Issues (1) • IS/Basic Search Strategies (5) • IS/Knowledge Based Reasoning (4) • IS/Advanced Search • IS/Advanced Reasoning • IS/Agents • IS/Natural Language Processing • IS/Machine Learning • IS/Planning Systems • IS/Robotics • IS/Perception

  20. IM. Information Management (11 core hours) • IM/Information Models (4) • IM/Database Systems (3) • IM/Data Modeling (4) • IM/Indexing • IM/Relational Databases • IM/Query Languages • IM/Relational Database Design • IM/Transaction Processing • IM/Distributed Databases • IM/Physical Database Design • IM/Data Mining • IM/Information Storage and Retrieval • IM/Hypermedia • IM/Multimedia Systems • IM/Digital Libraries

  21. SP. Social and Professional Issues (16 core hours) • SP/History of Computing (1) • SP/Social Context (3) • SP/Analytical Tools (2) • SP/Professional Ethics (3) • SP/Risks (2) • SP/Security Operations • SP/Intellectual Property (3) • SP/Privacy and Civil Liberties (2) • SP/Computer Crime • SP/Economics of Computing • SP/Philosophical Frameworks

  22. SE. Software Engineering (31 core hours) • SE/Software Design (8) • SE/Using APIs (5) • SE/Tools and Environments (3) • SE/Software Processes (2) • SE/Requirements Specifications (4) • SE/Software Verification Validation (3) • SE/Software Evolution (3) • SE/Software Project Management (3) • SE/Component Based Computing • SE/Formal Methods • SE/Software Reliability • SE/Specialized Systems • SE/Risk Assessment • SE/Robust and Security-Enhanced Programming

  23. CN. Computational Science (no core hours) • CN/Modeling and Simulation • CN/Operations Research • CN/Parallel Computation

More Related