COMPUTER SCIENCE CURRICULUM

Download Report

Transcript COMPUTER SCIENCE CURRICULUM

COMPUTER SCIENCE CURRICULUM Lan Jin Tsinghua University California State University-Fresno

 COMPUTING CURRICULA 2001  KNOWLEDGE AREAS OF COVERAGE  TRADITIONAL GUIDING PHILOSOPHIES FOR LEARNIING  COMPUTER SCIENCE CURRICULUM AT CSU-FRESNO  SOME SURVEY RESULTS

CURRICULA 2001

 COMPUTER SCIENCE  COMPUTER ENGINEERING  SOFTWARE ENGINEERING  INFORMATION SYSTEMS Web site: http://computer.org/education/curricula2001.htm

Knowledge Areas of CS Curriculum

 Discrete Structures  Programming Fundamentals  Algorithms and Complexity  Programming Languages  Architecture and Organization  Operating Systems  Net-centric Computing

Knowledge Areas of CS Curriculum (continued)

 Human-Computer Interaction  Graphics and Visual Computing  Intelligent Systems  Information Management  Software Engineering  Social and Professional Issues  Computational Science

TRADITIONAL GUIDING PHILOSOPHIES FOR LEARNING

 Programming-first philosophy  Imperative-first  Object-first  Function-first  Breath-first philosophy  Algorithm-first philosophy  Hardware-first philosophy

CS CURRICULUM AT CSU-FRESNO

1 40 41 60 Math75 Math76 112 115 117 144 124 134 164 126 136 166 156 119 146 113 174 148 177 154 176 186 150 172 188 152 173 200 226 264 217 244 274 190 Core 191T 194 Grad. required 198 246 290 213 284 282 250 252 291T prerequisite 298 299 272 391T sequence

    

CS CURRICULUM AT CSU-FRESNO

Core Courses (28 units) Math75,76: College Calculus  CSci112: Intro. To Computer Systems CSci1: Critical Thinking & C. S.

 CSci113: Intro. To Comp. Organization CSci40: Intro. to Prog. & Problem Solving   CSci115: Algorithms & Data Structures CSci117: Structures of Prog. Languages CSci41: Intro. to Data Structures  CSci119: Intro. To Finite Automata CSci60: Foundations of C. S.

 CSci144: Intro. To Operating Systems 1 112 41 40 60 Math75 Math76 115 119 113 172 154 117 144 124 134 164 146 176 186 150 126 136 166 156 174 148 177 188 152 173

CS CURRICULUM AT CSU-FRESNO

5 electives (15-17 units)      CSci124: Intro. of File Processing CSci134: Compiler Design CSci150: Intr. of Software Engg.

CSci154: Simulation CSci156: Internetworking Systems & Protocols       CSci164: A.I. Programming CSci172: Computer Graphics CSci174: Design & Anal. Of Algorithms CSci176: Parallel Processing CSci186: Formal Lang. & Automata CSci191T: Proseminar (Topic course) 190 1 40 Math75 Math76 191T 112 41 60 194 198 115 117 119 113 154 172 144 146 124 134 164 176 186 150 126 136 166 156 174 148 177 188 152 173

CS CURRICULUM AT CSU-FRESNO 3 of Sequences (9-12 units)

     CSci124,126: Data Base Systems  CSci134,136: Compiler Construction  CSci164,166: Artificial Intelligence  CSci150,152: Software Engineering  CSci176,177: Computer Architecture (Parallel/Distributed Processing)  CSci172,173: Computer Graphics CSci186,188: Theory of Computation CSci144,146: System Architecture CSci144,148: System Programming CSci170 (191T): Web Programming 115 112 115 119 117 144 144 115 113 144 119 41 Math76 41 112 124 134 164 126 136 166 146 148 170 176 186 150 177 188 152 173 172

CS CURRICULUM AT CSU-FRESNO Graduate Courses (x+30 units)

     CSci200: Intro. to Research in C.S.

 CSci174: Design & Anal of Algorithms or CSci188: Intro. To Computability   CSci213: Computer Organization  CSci217: Prog. Language Principles  CSci298: Research Project or CSci299: Master’s Thesis  40 Math75 CSci226: DB; CSci244: OS CSci250: SE; CSci264: AI CSci272: CG; CSci282: TC CSci246: PP; CSci252: SDE CSci274: Combinatorial Algo. CSci284: Automata Theory 60 41 112 Math76 115 119 144 126 174 188 186 117 164 113 150 172 124 200 226 274 282 284 244 246 217 264 213 250 252 272 298 299 290 291T

COMPUTER SCIENCE CURRICULUM AT CSU-FRESNO (Topic course)

  Example of a Topic Course - Csci 191T Course name: CSci 170 Web Programming OUTLINE  Programming for the www        Web servers and clients Internet and web protocols Markup languages Client-side scripting Document object models Event handling Server-side scripting   Gateways Filter-based approach

SOME SURVEY RESULTS

- Knowledge important to a software professional  General software design  S/w engineering methods  o.o. concept & techniques  specific prog. languages  data structures  algorithm design  s/w design & patterns  s/w architecture  analysis & design methods  testing, verification, & quality assurance  requirements gathering & analysis

SOME SURVEY RESULTS

- Knowledge important to a software professional (continued  Software management   Essential subsystem design Specialized application techniques  project management  configuration & release management  software cost estimation  human-computer interface /user interfaces  databases  file management  computational methods for numerical problems  computer graphics  artificial intelligence

SOME SURVEY RESULTS

- Scientific topics other than core s/w engineering  Real-time & Systems programming  Computer Sci. theory  Discrete mathematics  Probability & statistics  Linear algebra & matrices  Continuous math.

 operating system  systems programming  data transmission & networks  parallel/distri. processing  prog. language theory  automata & formal lang.

 queuing theory  diff. & integral calculus

SOME SURVEY RESULTS

- Curriculum data  First language taught 96-97, 97-98, 98-99   Primary teaching language 96-97, 97-98, 98-99      Use of closed Labs in 1996, 1997, 1998       C++ 39%, 47%, 50% C 14%, 11%, 20% Java -, 9%, 22% Ada 18%, 19%, 7% Pascal 23%, 6%, 2% C++ 54%, 68%, 77% C 27%, 9%, 24% Java -, 11%. 21% CS1: 70%, 74%, 71% CS2: 41%, 53%, 45% Other: 39%, 34%, 34%

SOME SURVEY RESULTS

- Upper-level courses: required vs. elective              Programming lang Operating systems Analysis of algorithms Theory of computation Ethical, social issues Architecture Software engineering DBMS Compiler construction Networks Parallel computing Graphics Artificial intelligence 82% vs. 15% 89% vs. 20% 65% vs. 24% 55% vs. 33% 67% vs. 7% 73% vs. 30% 65% vs. 37% 21% vs. 77% 22% vs. 74% 12% vs. 85% 2% vs. 54% 1% vs. 94% 6% vs. 89%