The Computer Science (CS) degree programme offers an in-depth understanding of, and appreciation for, the rapidly growing field of computer science. The primary goal of the Computer Science programme is to train students to discover and develop new technology with immediate economic impact while providing a solid foundation to enable adaptation. Students are exposed to the broad foundations of computer science, encompassing computer architecture, software systems, algorithms and advanced applications. Through a challenging and rigorous course of study, and diverse interactions with industry leaders and young entrepreneurs, graduates will closely examine advanced developments in Web applications and infrastructure, embedded systems, and computational biology. Research is conducted collaboratively with lecturers from MIT, NUS and NTU.
An NUS Masters with SMA Certificate
A one-year professional master's degree programme prepares graduates for careers in the development of advanced computer systems. The CS degree programme offers curriculum in the following fundamental areas: Computer System Engineering, Computer Language Engineering, Analysis and Design of Algorithms, Artificial Intelligence, Computer Systems Architecture and Database Technology. Students will have the opportunity interact with MIT lecturers during the Immersion Programme on the MIT campus. In addition, students will carry out a capstone project in Singapore that will involve videoconferences with MIT lecturers and personal interaction when those lecturers travel to Singapore.
An NUS Masters AND NUS/NTU Ph.D. degree with SMA Certificate
Description to be provided later
An NUS/NTU Ph.D. degree with SMA Certificate
A research doctorate degree programme in Computer Science that equips graduates for careers in industrial research and development centres, research institutes or academic departments interested in cutting-edge computer science. Students are required to complete all courses at the S.M. level, plus one elective course and a Ph.D. thesis. The Ph.D. degree programme is a commitment of three or more years, with a full semester of study at MIT.
The SMA programme in CS provides a unique educational experience for graduate students interested in careers in industry and research establishments. The S.M. degree will train students to apply their knowledge of computer science to industrial challenges, particularly in the development of large software systems and embedded computing. The Ph.D. degree will equip graduates for progressive careers in industrial research and development centers, research institutes or academic departments with an interest in cutting-edge computer science research. The career opportunities are endless.
Courses are primarily for students with undergraduate degrees in computer science. Future careers might include opportunities in
This degree programme is designed to produce high caliber professionals with an in-depth understanding of the hardware, software, and algorithmic underpinnings of advanced computer systems.
SMA 5501 Computer System Engineering
Topics on the engineering of computer software and hardware systems: techniques for controlling complexity; system infrastructure; networks and distributed systems; atomicity and coordination of parallel activities; recovery and reliability; privacy of information; impact of computer systems on society. Case studies of working systems and outside reading in the current literature provide comparisons and contrasts. Two design projects and a laboratory project.
SMA 5502 Computer Language Engineering
Analyses issues associated with the implementation of higher-level programming languages. Fundamental concepts, functions, and structures of compilers. The interaction of theory and practice. Using tools in building software. Includes a multi-person project on compiler design and implementation.
SMA 5503 Analysis and Design of Algorithms
Techniques for the design and analysis of efficient algorithms, emphasising methods useful in practice. Topics: sorting; search trees, heaps, hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; parallel computing.
SMA 5504 Artificial Intelligence
Investigates the application of the methods and tools of artificial intelligence via problems in the use and implementation of intelligent Web services. Emphasis on mastery and application of programs embodying many basic representations and problem-solving methods in artificial intelligence, including search, constraint propagation, rule-chaining, planning, deduction, and machine learning. Includes an individual and a multi-person project on real problems drawn from the milieu of the World Wide Web.
SMA 5505 Applied Parallel Computing
Advanced interdisciplinary introduction to applied parallel computing on modern supercomputers. Numerical topics include dense and sparse linear algebra, N-body problems, multigrid, fast-multipole, wavelets and Fourier transforms. Geometrical topics include partitioning and mesh generation. Other topics include applications oriented architecture, software systems, MPI, cilk, DATA Parallel systems, Parallel MATLAB, caches and vector processors with hands-on emphasis on understanding the realities and myths of what is possible on the world's fastest machines.
SMA 5506 Database Technology
Studies the concepts and implementation related to database management systems. Topics include the relational data model, SQL, storage management, access methods, query processing and optimization, concurrency control and recovery, security and authorization, and advanced database topics such as data warehousing, data mining and multimedia databases. Includes a project on implementing components of a mini-DBMS.
SMA5507 Advanced Computer Graphics
A graduate level course investigates computational problems in rendering, animation, and geometric modeling. The course draws on advanced techniques from computational geometry, applied mathematics, statistics, scientific computing and other. Substantial programming experience required.
SMA Project Class
Capstone course providing hands-on technical skills and opportunity for group work and technical communication.