Top Banner
Computer Science Curriculum 2008 Summary by Zaheer 1
24

Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

1

Computer ScienceCurriculum 2008

Summary by Zaheer

Page 2: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

2

More attention needed onSecurityCertain Topics

ConcurrencyNet-centric computingHuman computer interactionSoftware engineeringManagement information systemsSystems issuesProfessional practice

Learning outcomesCommunication skillsTeaching of PL and multiple paradigms

Page 3: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

3

Industry feedbackSecurity

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

Page 4: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

4

Industry feedbackWant students who have contributed to open sourceHave industry internshipsHave done systems software projectsGood 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

Page 5: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

5

Knowledge AreasDiscrete 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

Page 6: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

6

ChangesDiscrete 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.

Page 7: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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

Page 8: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

8

Characteristics of GraduatesSystem-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,

Page 9: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

9

Characteristics of GraduatesSignificant project experience

at least one substantial software projectthe need for domain knowledge for

certain applicationsAttention to rigorous thinking

planning, tracking progress, measuring and generally managing quality

Adaptabilityenormous pace of change

Page 10: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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)

Page 11: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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)

Page 12: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 NPAL/Automata TheoryAL/Advanced AnalysisAL/Cryptographic AlgorithmsAL/Geometric AlgorithmsAL/Parallel Algorithms

Page 13: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 EnhancementsAR/Distributed ArchitecturesAR/DevicesAR/Directions in Computing

Page 14: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 ManagementOS/Security and Protection (2)OS/File SystemsOS/Real Time and Embedded SystemsOS/Fault ToleranceOS/System Performance EvaluationOS/ScriptingOS/Digital ForensicsOS/Security Models

Page 15: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

15

NC. Net-Centric Computing (15 core hours)

NC/Introduction(2)NC/Network Communication (7)NC/Network Security (6)NC/Web OrganizationNC/Networked ApplicationsNC/Network ManagementNC/CompressionNC/Multimedia TechnologiesNC/Mobile Computing

Page 16: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 ProgrammingPL/Language Translation SystemsPL/Type SystemsPL/Programming Language SemanticsPL/Programming Language Design

Page 17: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

17

HC. Human-Computer Interaction (8 core hours)

HC/Foundations (6)HC/Building GUI Interfaces (2)HC/User Centered Software EvaluationHC/User Centered Software DevelopmentHC/GUI DesignHC/GUI ProgrammingHC/Multimedia and Multimodal SystemsHC/Collaboration and CommunicationHC/Interaction Design for new EnvironmentsHC/Human Factors and Security

Page 18: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

18

GV. Graphics and Visual Computing (3 core hours)

GV/Fundamental Techniques (2)GV/Graphic Systems (1)GV/Graphic CommunicationGV/Geometric ModelingGV/Basic RenderingGV/Advanced RenderingGV/Advanced TechniquesGV/Computer AnimationGV/VisualizationGV/Virtual RealityGV/Computer VisionGV/Computational GeometryGV/Game Engine Programming

Page 19: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

19

IS. Intelligent Systems (10 core hours)

IS/Fundamental Issues (1)IS/Basic Search Strategies (5)IS/Knowledge Based Reasoning (4)IS/Advanced SearchIS/Advanced ReasoningIS/AgentsIS/Natural Language ProcessingIS/Machine LearningIS/Planning SystemsIS/RoboticsIS/Perception

Page 20: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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

Page 21: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 OperationsSP/Intellectual Property (3)SP/Privacy and Civil Liberties (2)SP/Computer CrimeSP/Economics of ComputingSP/Philosophical Frameworks

Page 22: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

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 ComputingSE/Formal MethodsSE/Software ReliabilitySE/Specialized SystemsSE/Risk AssessmentSE/Robust and Security-Enhanced Programming

Page 23: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

23

CN. Computational Science (no core hours)

CN/Modeling and SimulationCN/Operations ResearchCN/Parallel Computation

Page 24: Summary by Zaheer 1. More attention needed on Security Certain Topics Concurrency Net-centric computing Human computer interaction Software engineering.

24