# Master of Science in Computer Science

#### Master of Science in Computer Science

The Master of Science in Computer Science (M.Sc. C.S.) program aims to provide both breadth and depth of knowledge in the concepts and techniques related to the theory, design, implementation, and applications of computer systems. Students are required to take courses which cover advanced topics in theoretical computer science and computer systems. Students of the M.Sc. C.S. program are expected to write a thesis under the guidance of a faculty adviser. Full-time students should be able to complete the program in two years.

#### Curriculum

Core Courses | |

One Theory Course | 3 units |

One Systems Course | 3 units |

One Theory or Systems Course | 3 units |

9 units | |

In addition, students need to take the following: | |

CS 296 Seminar | 1 unit |

Thesis Option: | |

Specialization Courses | 9 units |

Elective | 3 units |

CS 298 Special Problem | 3 units |

CS 300 Thesis | 6 units |

TOTAL NUMBER OF UNITS IN THE PROGRAM | 31 units |

The core course in Theory should be taken from among the following: |
---|

CS 204 (Theory of Computation) |

CS 210 (Advanced Algorithms and Data Structures) |

The core course in Systems should be taken from among the following: |
---|

CS 250 (Advanced Operating Systems) |

CS 270 (Advanced Database Systems) |

CS 220 (Survey of Programming Languages) |

CS 260 (Advanced Software Engineering) |

Theory Specialization Courses | |
---|---|

CS 204* | Theory of Computation |

CS 208 | Complexity Theory |

CS 210* | Advanced Algorithms and Data Structures |

CS 211 | Combinatorial Optimization |

CS 213 | Communication Theory |

CS 214 | Parallel Algorithms |

CS 216 | Randomized Algorithms |

CS 222 | Programming Language Theory |

CS 225 | Compiler Design and Construction |

CS 231 | Numerical Computing |

CS 236 | Scientific Computing |

CS 247 | Cryptography |

CS 271 | Database Theory |

CS 290 | Advanced Topics in Theoretical Computer Science |

CS 294 | Advanced Topics in Computational Science |

CS 297 | Special Topics |

CS 298 | Special Problems |

ES 201 | Advanced Mathematical Methods in Engineering I |

ES 202 | Advanced Mathematical Methods in Engineering II |

* - required for Ph.D. C.S. |

Systems Specialization Courses | |
---|---|

CS 220* | Survey of Programming Languages |

CS 237 | Biomedical Informatics |

CS 239 | Parallel Computing |

CS 240 | Computer Graphics |

CS 242 | Data Visualization |

CS 250* | Advanced Operating Systems |

CS 253 | Computer Security |

CS 255 | Advanced Computer Networks |

CS 256 | Computer Systems Performance Analysis |

CS 257 | Distributed Systems |

CS 258 | Mobile Computing |

CS 259 | Network Performance, Modeling and Monitoring |

CS 260* | Advanced Software Engineering |

CS 262 | Methods of Software Development |

CS 265 | Software Quality Assurance |

CS 266 | IT Project Management |

CS 267 | Software Engineering for the Web |

CS 268 | Web Science |

CS 270* | Advanced Database Systems |

CS 280 | Intelligent Systems |

CS 281 | Robotic Systems |

CS 282 | Computer Vision |

CS 283 | Data Mining |

CS 284 | Machine Learning |

CS 286 | Natural Language Understanding |

CS 291 | Advanced Topics in Net-Centric Computing |

CS 292 | Advanced Topics in Software Technology |

CS 293 | Advanced Topics in Computer Systems |

CS 295 | Advanced Topics in Intelligent Systems |

CS 297 | Special Topics |

CS 298 | Special Problems |

EE 277 | Modern VLSI Design |

EE 267 | Real-Time Systems |

EE 270 | Digital Communication I |

EE 274 | Digital Signal Processing I |

EE 264 | Computer Architecture |

GE 203 | Principles of Geographic Information Systems |

GE 213 | Advanced Geographic Information Systems |

IE 253 | Information Systems I |

IE 254 | Information Systems II |

* - required for Ph.D. C.S. |