|
|||
|
|
|||
|
| |||
Master of Science in Computer Science 2007
The Master of Science in Computer Science is the most technical of CTI's master’s programs. The courses in the Prerequisite Phase and Core Knowledge Phase focus on the foundations and fundamentals of programming languages, and the theoretical underpinnings of computer science. As part of the Advanced Phase, students get a breadth of training in traditional areas of computer science by taking one course each in Foundations, Computer Systems, and Database Systems. The remainder of the Advanced Phase gives students a great deal of flexibility. A student may choose to focus in a specific area by taking many courses in one area of computer science or from one of the other degree programs in CTI. Or, they may achieve a breadth of knowledge across many areas by selecting courses from a variety of areas. This degree is appropriate for students who wish to pursue a technical career in any of a number of areas of computer science, or for students who may wish to pursue a Ph.D. degree in the future.
The program follows a three-phase sequence, with each phase preparing the student for the subsequent phase. The master's degree program consists of:
Upon acceptance into the masters degree program, the student will meet with their faculty advisor to discuss required courses for the Prerequisite Phase. The Prerequisite Phase is intended to ensure that all students enter graduate courses with an equivalent background. While completing this phase, a student is considered a conditionally admitted masters student. In the Core Knowledge phase, a student will follow a sequence of courses to acquire an understanding of the technological and theoretical foundations for the particular degree. In the Advanced Phase of the program, the fundamental information learned previously allows a student to study advanced topics within their chosen degree. This phase adds depth to the work completed in the Core Knowledge Phase. Individual interests and needs are also addressed through a series of elective courses chosen in consultation with the student's faculty advisor.
Grades: Students must receive a grade of B- or better in each prerequisite course and a C- or better in all other courses.
GPA: Students must maintain a graduate level GPA of 2.50 or higher while pursuing their degree. Students will not be approved for graduation with less than a 2.50 GPA. Students with a GPA of 3.90 or higher will graduate with distinction.
The courses in the Prerequisite Phase for the MS in Computer Science are:
| Offered Winter | ||
| In class | Online | |
| √ | √ | CSC 202 Discrete Structures for Computer Science |
| √ | √ | CSC 211 Programming in Java I Self Placement Test Available! |
| √ | √ | and CSC 212 Programming in Java II |
| √ | √ | or CSC 224 Java for Programmers |
| or CSC 396 Programming in Java I and II | ||
| √ | √ | CSC 373 Computer Systems I |
| √ | √ | CSC 374 Computer Systems II |
| √ | √ | CSC 383 Data Structures and Algorithms in Java |
By taking these courses and receiving a grade of a B- or better in each, the student will have completed the requirements of the Prerequisite Phase. All or part of the Prerequisite Phase may be waived if a student has the equivalent academic background. Alternatively, students with practical experience may complete a Graduate Assessment Examination (GAE) to show competency in a prerequisite. All students are blocked from enrolling in Core Knowledge Phase courses prior to completing their prerequisites. The student must submit an online Change of Status request when the Prerequisite Phase is completed to inform the Student Services offices that the block can be removed. The online request must be submitted two weeks before the student intends to register for graduate level classes. The student will then be considered a fully admitted student, and may pass to the Graduate Phase of the program. Students may submit the Change of Status request by logging in to MyCTI.
Fully admitted students in the Core Knowledge phase may register for a maximum of four Advanced phase courses. The Core Knowledge Phase courses for the MS in Computer Science are:
| Offered Winter | ||
| In class | Online | |
| CSC 447 Concepts of Programming Languages | ||
| CSC 491 Applied Algorithms and Structures | ||
| √ | √ | SE 450 Object-Oriented Software Development |
One course in each of the following areas: Foundations, Computer Systems, Database Systems
Four additional courses from the areas above or Artificial Intelligence, Bioinformatics, Computer Vision, Data Analysis, Computer Graphics, Software Engineering, Security, Network Technologies, two of which must be 500-level. Courses are grouped into different areas below for your convenience. A student may concentrate in one area by taking all 4 courses from the same area, or may wish to take courses from a variety of areas.
Three elective courses. Students must choose three graduate level elective courses from the School of CTI. Elective courses are in the range of 420-699.
Overall, at least four 500-level courses.
There is a research option for this degree as well.
| Offered Winter | ||
| In class | Online | |
| CSC 449 Database Technologies | ||
| √ | √ | CSC 451 Database Design |
| √ | √ | CSC 452 Database Programming |
| √ | √ | CSC 454 Database Administration and Management |
| CSC 549 Database System Implementation | ||
| CSC 550 Object-Oriented Databases | ||
| CSC 551 Distributed Database Systems | ||
| √ | √ | CSC 553 Advanced Database Concepts |
| CSC 589 Topics in Database | ||
| √ | √ | CSC 575 Intelligent Information Retrieval |
| CSC 543 Spatial Databases and Geographic Information Systems | ||
| Offered Winter | ||
| In class | Online | |
| CSC 444 Automata Theory and Formal Grammars | ||
| √ | √ | CSC 448 Compiler Design |
| CSC 503 Parallel Algorithms | ||
| CSC 504 Parallel Processing | ||
| CSC 535 Formal Semantics of Programming Languages | ||
| CSC 541 Introduction to Proteomics | ||
| CSC 542 Research Practicum in Computational Biology | ||
| √ | √ | CSC 489 Theory of Computation |
| CSC 547 Advanced Topics in Program Languages | ||
| CSC 548 Advanced Compiler Design | ||
| CSC 531 Introduction to Bioinformatics | ||
| SE 580 Design of Object-Oriented Languages | ||
| SE 590 Advanced Topics in Object Oriented Technology | ||
| Offered Winter | ||
| In class | Online | |
| CSC 443 Introduction to Operating Systems | ||
| CSC 545 Advanced Computer Organization | ||
| CSC 546 Operating Systems Design | ||
| SE 435 Distributed Systems I | ||
| SE 536 Distributed Systems II | ||
| DS 520 System Design and Implementation with Distributed Object Frameworks | ||
| SE 540 Software Development for Mobile and Wireless Systems | ||
| SE 542 Software Development for Limited and Embedded Devices | ||
| SE 550 Distributed Software Development | ||
| SE 552 Concurrent Software Development | ||
| √ | √ | TDC 561 Network Programming |
| Offered Winter | ||
| In class | Online | |
| CSC 457 Expert Systems | ||
| CSC 458 Symbolic Programming | ||
| CSC 480 Foundations of Artificial Intelligence | ||
| √ | √ | CSC 578 Neural Networks and Machine Learning |
| CSC 587 Cognitive Science | ||
| CSC 594 Topics in Artificial Intelligence | ||
| √ | √ | CSC 575 Intelligent Information Retrieval |
| Offered Winter | ||
| In class | Online | |
| CSC 531 Introduction to Bioinformatics | ||
| CSC 541 Introduction to Proteomics | ||
| CSC 542 Research Practicum in Computational Biology | ||
| Offered Winter | ||
| In class | Online | |
| CSC 481 Introduction to Image Processing | ||
| CSC 498 Digital Signal Processing | ||
| CSC 538 Vision Systems | ||
| √ | √ | CSC 482 Applied Image Analysis |
| CSC 584 Computer Vision | ||
| CSC 592 Topics in Computer Vision and Pattern Recognition | ||
| Offered Winter | ||
| In class | Online | |
| CSC 423 Data Analysis and Regression | ||
| CSC 424 Advanced Data Analysis | ||
| CSC 428 Data Analysis for Experimenters | ||
| CSC 521 Monte Carlo Algorithms | ||
| √ | √ | CSC 578 Neural Networks and Machine Learning |
| CSC 598 Topics in Data Analysis | ||
| ECT 584 Web Data Mining for Business Intelligence | ||
| SE 468 Software Measurement/Project Estimation | ||
| SE 567 Software Reliability | ||
| Offered Winter | ||
| In class | Online | |
| GPH 436 Fundamentals of Computer Graphics | ||
| √ | GPH 438 Computer Animation Survey | |
| GPH 448 Computer Graphics Scripting | ||
| √ | GPH 469 Computer Graphics Development | |
| GPH 470 Survey of Computer Graphics | ||
| GPH 536 Smooth Surface Modeling for Graphics and Animation | ||
| GPH 539 Advanced Rendering Techniques | ||
| GPH 560 Modeling Spaces | ||
| GPH 570 Visualization | ||
| GPH 572 Principles of Computer Animation | ||
| GPH 574 Computer Games | ||
| GPH 575 Advanced Graphics Development | ||
| √ | GPH 595 Topics in Graphics | |
| Offered Winter | ||
| In class | Online | |
| SE 427 Software Quality Management | ||
| √ | √ | SE 430 Object Oriented Modeling |
| SE 431 Model-Driven Software Development | ||
| SE 433 Software Testing and Quality Assurance | ||
| √ | √ | SE 452 Object-Oriented Enterprise Computing |
| SE 465 Software Engineering Principles | ||
| SE 468 Software Measurement/Project Estimation | ||
| SE 469 Software Safety | ||
| √ | √ | SE 470 Software Development Processes |
| SE 472 Personal Software Process | ||
| √ | √ | SE 477 Software and Systems Project Management |
| SE 480 Software Architecture | ||
| SE 482 Requirements Engineering | ||
| √ | √ | SE 529 Software Risk Management |
| SE 531 Formal Software Specifications and Development II | ||
| SE 533 Software Validation and Verification | ||
| SE 546 Software Architecture and Design for Desktop Applications | ||
| SE 554 Enterprise Component Architecture | ||
| SE 558 Architecture and Design for Multiplayer Games | ||
| SE 560 Structured Document Interchange and Processing | ||
| SE 571 Software Maintenance | ||
| Offered Winter | ||
| In class | Online | |
| √ | √ | CSC 440 Cryptology |
| SE 435 Distributed Systems I | ||
| SE 536 Distributed Systems II | ||
| ECT 582 Secure Electronic Commerce | ||
| √ | √ | IS 511 Social Issues of Computing |
| √ | √ | IS 433 Information Security Management |
| SE 473 Security Architecture I | ||
| SE 547 Foundations of Computer Security | ||
| SE 573 Security Architecture II | ||
| TDC 511 Telecommunications Practicum | ||
| TDC 562 Computer-Communication Network Design and Analysis | ||
| √ | √ | TDC 563 Protocols and Techniques for Data Networks |
| TDC 572 Network Security | ||
| Offered Winter | ||
| In class | Online | |
| TDC 432 Computer and Information Systems Modeling | ||
| √ | √ | TDC 460 Foundations of Communications Systems |
| √ | √ | TDC 463 Computer Networks and Data Systems |
| √ | √ | TDC 464 Voice Communication Networks |
| TDC 489 Queuing Theory with Computer Application | ||
| TDC 511 Telecommunications Practicum | ||
| TDC 512 Cellular and Wireless Telecommunications | ||
| TDC 513 Client/Server Technologies | ||
| TDC 514 Computer Telephony | ||
| √ | √ | TDC 561 Network Programming |
| TDC 562 Computer-Communication Network Design and Analysis | ||
| √ | √ | TDC 563 Protocols and Techniques for Data Networks |
| TDC 564 Local Area Networks | ||
| TDC 565 Voice and Data Integration | ||
| √ | √ | TDC 566 Broadband Access Technologies |
| TDC 568 Network Management | ||
| TDC 572 Network Security | ||
| TDC 573 Multimedia Networking | ||
Students interested in a more in-depth study of a particular area can choose to work with a faculty member (not necessarily their academic advisor) on a research project. This option can be satisfied by taking the course CSC 696 (Masters Project) at least twice, each time for 4 credits. The Masters research option will replace one elective and one of the 4 required area courses. Students who choose this option must successfully complete the Core Knowledge courses prior to their first enrollment in CSC 696. The research project must represent an original contribution to the area, and may include system development, empirical studies, or theoretical work. The scope and the details of the research project will be determined by the research supervisor, and must be approved by the student's academic advisor. At the end of the two quarters, the student must submit a technical report detailing the results of the research project. This report must be approved by the student's research supervisor and the faculty advisor, at which point it will be made available to the public as a CTI Departmental Technical Report.
Last Modified: Tuesday May 26, 2009