), fundamental data structures: arrays, strings and structures, simple file processing, and basic recursion. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): For SoC students only. Modular Credits: 4 Workload: 2-0.5-0-5.5-2 Prerequisite(s): CS2103 and (MA1101R or MA1311 or MA1506 or MA1508E) and (ST1232 or ST2131 or ST2334) Preclusion(s): Nil Cross-listing(s): Nil Most information on the web is in the form of encoded free-text formats. Modular Credits: 4 Workload: 2-1-1-2-4 Prerequisites: [MA1102R or MA1505 or MA1507 orMA1521 or (MA1511 and MA1512)] and [MA1101R or MA1506 or MA1508E or MA1513] and [CS1020 or CS1020E or CS2030 or CS2040 or CS2040C] Preclusion(s): Nil Cross-listing(s): Nil Modern mobile platforms such as smart phones and tablets are equipped with an increasing number of sensing modalities. Modular Credits: 4 Workload: 2-1-0-3-3 Prerequisite(s): CS2106 or CG2271 Preclusion(s): Nil Cross-listing(s): Nil A concurrent system consists of a set of processes that executes simultaneously and that may collaborate by communicating and synchronising with one another. The module is divided into three parts. Good-to-have background: CS4342, CS5240, Physics I, Multivariable Calculus, Machine Learning. The topics covered include: (i) Linguistic essentials. Modular Credits: 4 Workload: 2-0-1-4-3 Prerequisite(s): CS1020 or its equivalent Preclusion(s): Nil Cross-listing(s): Nil This module aims to train students to be proficient in dealing with UNIX systems. It covers the key algorithms for robot intelligence through inference, planning, and learning, and also provides some practical experiences with modern robot systems. Modular Credits: 4 Workload: 3-0-0-3-4 Prerequisite(s): CS2102 and CS3243 and (ST1232 or ST2131 or ST2334) Preclusion(s): Nil Cross-listing(s): Nil This course introduces fundamental principles behind data mining and efficient techniques for mining large databases. Some key concepts that cut across all layers and network types are mobility management, energy efficiency, and integration of sensing and communications. Modular Credits: 4 Workload: 3-0-0-3-4 Prerequisite(s): CS3243 Preclusion(s): Nil Cross-listing(s): Nil This module covers advanced topics in artificial intelligence that are of current research or application interests. Topics covered include: Statistical parsing, Word sense disambiguation, SENSEVAL, co-reference resolution, machine translation, question answering. (ii) Basic techniques and algorithms: Hidden Markov model, Viterbi algorithm, supervised learning algorithms. Modular Credits: 4 Workload: 2-1-0-4-3 Prerequisite(s): (CS2010 or CS2020 or CS2040 or CS2040C) and (CS2220 or LSM2104) Preclusion(s): Nil Cross-listing(s): Nil After the complete sequencing of a number of genomes, we are in the stage to understand the mystery of our body, that is, we need to understand the information encoded in the genome and its relationship with RNA and protein. It is also the first part of a three-part series on introductory programming and problem solving by computing, which also includes CS1020E and CS2010. Modular Credits: 4 Workload: 2-1-0-2-5 Prerequisite(s): (CS2103 or its equivalent) and CS3235 Preclusion(s): CS4239 Cross-listing(s): Nil Software engineering processes need to include security considerations in the modern world. CS3236 Introduction to Information Theory. Modular Credits: 4 Workload: 3-0-0-3-4 Prerequisite(s): CS3223 Preclusion(s): Nil Cross-listing(s): Nil This module addresses issues in management of large volume shared data in parallel and distributed environment. Application to related fields, such as computer animation and computation biology, will also be discussed. It focuses on the nonvector- space approach, which complements the vector-space approach to multimedia analysis. Different network technologies with different characteristic will also be covered, including cellular networks, Wi-Fi, Bluetooth and ZigBee. Candidates are expected to take graduate level modules offered by the Department to fulfil the M.Sc (Electrical Engineering) degree requirement. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): CS3223 Preclusion(s): CS4225 Cross-listing(s): Nil This module studies the management of data in a distributed environment. (CS1020 or CS1020E or CS2020) or (CS2030 and (CS2040 or CS2040C)) Co-requisite(s): Students have to read CS2101 Effective Communication for Computing Professionals at the same time as this module. Modular Credits: 4 Workload: 2-1-0-4-3 Prerequisite(s): CS2010 or CS2020 or ((CS2030 or CS2113/T) and (CS2040C or CS2040)) and (CS1231 or MA1100) Preclusion(s): CS2305S Cross-listing(s): Nil In this module, students will learn thinking and problem-solving skills, read and present research papers, write research reports, and do a substantial project within the computing area. It examines issues, challenges, and techniques in problem representation, goal or objective specification, response selection, and action consequence for a wide range of strategic and tactical planning and decision making situations. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): CS2102 or IT2002 Preclusion(s): BT4221, CS5425  Cross-listing(s): Nil Data science incorporates varying elements and builds on techniques and theories from many fields, including statistics, data engineering, data mining, visualization, data warehousing, and high performance computing with the goal of extracting meaning from data and creating data products. music, arts, medicine and law) impose different search, usability and maintenance requirements on the digital library. Students will acquire crucial skills on testing and debugging through hands-on assignments. The syllabus includes multiple-pass rendering; shading and reflection models; procedural texture-mapping and shading; lights and shadows; noise and natural materials; non-photorealistic rendering; volume rendering; deferred shading; scene management; post-rendering processing; performance analysis and optimization. Department of Mathematics, NUS, Singapore, Singapore. It introduces the development of the mobile IP protocol, and addresses the practical application of mobile IP in real-world networking environments. This module introduces the students to basic theories, concept and practical skills needed in input, processing and output of multimodal data on mobile platforms. The module covers the main theoretical issues common to various multimedia research. Students from Engineering, Science, and FASS with sufficient computing background and have read and passed 80 MCs of module may also apply to read. Topics covered include object-oriented problem modeling with concepts of objects, classes and methods, object-oriented problem formulation and problem solving, data structure implementation strageties, abstraction and encapsulation of data structures, object-oriented programming constructs, use of APIs and class libraries, exception handling, lists, linked lists, stacks, queues, hash tables and their algorithmic design, various forms of sorting and searching methods, recursive algorithms, and Big-O notation.This module is appropriate for SoC and FoS students. Modular Credits: 4 Workload: 3-0-0-3-4 Prerequisite(s): Variable, depending on the choice of topics or departmental approval. It addresses security concepts and design principles from an adversarial perspective. Finally, music information retrieval will be introduced as an application of analytic techniques. Data science seeks to use all available and relevant data to effectively tell a story that can be easily understood by non-practitioners. Laboratory exercises and projects are included for the students to solve practical problems using computer vision and image processing software packages. It introduces the language processing techniques of interpretation and compilation and virtual machines. Students will be exposed to hands-on programming assignments and mini-projects on selected consoles with SDKs secured under Non Disclosure Agreement with console manufacturers. How do molecules change shapes over time? CODES. This means that our students are free to follow their passions, and bring diverse perspectives to their study of Mathematics, Computer Science and Statistics. We offer the most extensive college degree courses in Singapore. This programme offers a broad-based education in mathematics and covers the same nine core mathematics modules as in the primary Major in Mathematics/Applied Mathematics. Topics covered include network data in social and digital media, formal methods for social network analysis, analytics and visualization tools, population and structural models for network dynamics, and various industry case studies on social and digital media analytics. To hone these skills the students will communicate by crafting a business plan. Throughout the course, practical exercises are performed using a modern CLP system such as CLP(R) or Eclipse. This module familiarizes students to security issues in different stages of the software life-cycle. CS1102 Data Structures and Algorithms (defunct). The module uses the Object Oriented Programming paradigm. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): CS2108 and CS3245 Preclusion(s): Nil Cross-listing(s): Nil The emergence of WWW, smart mobile devices and social networks has revolutionised the way we communicate, create, disseminate, and consume information. The module covers design decision exploration as well as patterns that explicate principles and best practices in replicable form. Students will round out their knowledge with case studies of how different disciplines (e.g. Partially ordered sets. Modular Credits: 4 Workload: 2-1-0-4-3 Prerequisite(s): CS3213 Preclusion(s): Nil Cross-listing(s) : Nil This module aims to provide students with an appreciation of the technologies and tools available in support of the software development life cycle. (iii) Mathematical formulation of data models (linear model, trees and graphs). Students perform hands-on experiments in subnetting, dial-up service, DHCP, DNS, Multicast, RIP, OSPF, router based firewall, TCP handshaking and congestion mechanism. This is where we cyber-connect with staff and students from the past, present and future! Students will be exposed to important computer science concepts, including networking, databases, computer security, user interface design, programming languages, and software engineering. CS4275 Programming Real-time Systems (defunct). Through assignments and projects, students will design, develop, and evaluate deep learning-based solutions to practical problems, such as those in the areas of computer vision, bioinformatics, fintech, cybersecurity, and games. Modular Credits: 4 Workload: 3-0-1-3-3Prerequisite(s): CS1010 or its equivalent Preclusion(s): CS1020, CS1020E, CS2020, CS2010, CS2040Cross-listing(s): Nil This module introduces students to the design and implementation of fundamental data structures and algorithms. The second part covers the analysis and retrieval of multimedia contents, including text, image and video. CS3343 Digital Media Production  (defunct). How can the motion of digital movie actors be synthesized automatically? Cross-listing(s): Nil This module introduces the necessary skills for systematic and rigorous development of software systems. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): CS2040C or (CS2030 and CS2040) Co-requisite(s):  CS2101 is co-requisite for CS2113T. This course aims to familiarise graduate students with the ongoing research works in interactive 3D graphics. Students will be required to benchmark their ideas for competitive positioning. Strong knowledge of computer science foundat… Topics covered may include: interactive technologies, graphics data structures (shape representation), image-based modelling and rendering, creation of artistic artefacts, viewing large models, and interactive modelling. In this module, we will investigate how such sensing systems affect the notion of computer security. Special emphasis will be given to multimedia and Internet-based learning environments. With these modalities all packed into a single platform, it is important to empower application developers with basic knowledge and practical skills in dealing with these modalities. Preclusion(s): ... CS1231 or any Level-2000 MAxxxx offered by Mathematics Department Preclusion(s): Nil Topics include embedded software development for programmable processors and reconfigurable hardware, component-based design, optimasations for performance, power, code size, operating system issues, and case studies of available systems. The main topics covered are greedy algorithms, layering, polynomial time approximation schemes, (randomised) rounding and LP-relaxation. Modular Credits: 4 Workload: 2-0-1-2-5 Prerequisite(s): CS3219 Preclusion(s): Nil Cross-listing(s) : Nil This module covers the concepts and practice of software testing including unit testing, integration testing, and regression testing. It covers the fundamental principles of distributed data management and includes distribution design, data integration, distributed query processing and optimization, distributed transaction management, and replication. Upon completion of this course, the student will be able to understand the latest issues and proposed solutions in networking, and acquire the skills and methodology for identifying research problems. CS3217 Software Engineering on Modern Application Platforms. Preclusion(s): Nil Cross-listing(s): Nil This module focuses on the deductive and algorithmic aspects of both classical and non-classical logics. Distributed query processing: Factors governing query optimisation; Centralised query optimisation; Ordering of fragment queries; Distributed query optimization algorithms. This is a project-based course that aims to provide strong foundation on advanced computer animation methods and prepare students for research in animation. The main focus will be on probabilistic models including Bayesian networks and Markov networks. This has ushered in a new era of communications that involves complex information exchanges and user relationships. Modular Credits: 4 Workload: 0-2-0-1-7 Prerequisite(s): Nil Preclusion(s): Nil Cross-listing(s): Nil This module introduces CS graduate students to various research areas in Computer Science. This second part focuses on applying best software engineering practices on the implementation and testing of the software system. This module introduces the design, development and debugging of parallel programmes. Cross-listing(s): Nil Topics will be of an advanced computer science nature and will be selected by the Department. It covers  requirements, design, implementation, quality assurance, and project management aspects of small-to-medium size multi-person software projects. This is a research-oriented course in programme validation and verification, but parts of it are useful for graduate students working in other areas. Topics include: Partially ordered sets, induction and co-induction, data flow analysis, constraint based analysis, abstract interpretation, and type and effect systems. Students get to apply what they learn in the classroom and gain hands-on experience on solving significant information security problems. It explores two modern programming paradigms, object-oriented programming and functional programming. CS3882 Breakthrough Ideas for Digital Markets. Modular Credits: 4 Workload: 2-0-0-4-4 Prerequisite(s): CS2104 Preclusion(s): Nil Cross-listing(s): Nil Constraint programming is an alternative approach to computing in which the programming process is limited to a generation of requirements (constraints) and to solving of them by general methods and domain dependent methods. Modular Credits: 4 Workload: 2-0-0-6-2 Prerequisite(s): CS2106 and CS4226 Preclusion(s): Nil Cross-listing(s): Nil This module is targeted at computer science graduate students and covers the major aspects of building streaming media applications -- from coding to transmission to playback. Topics in model analysis include input-output analysis and experiment design. Upon completing the module, students will be able to design and build game engines from scratch, and to research and develop new game engine techniques. The different parts of the course will touch upon: i. formal modelling ii. Major topics include game engine architecture; object representations and scene graph; level-of-detail control; terrain processing; visibility computation; image-based rendering; collision detection; real-time shadowing; rendering effects and GPU programming; modelling, sound, lighting and interactive control; animation and dynamic; networked multi-player games; and AI techniques. It covers essential topics including user interface models, psychology of humans and computers, user interface style, layout guidelines, GUI programming with widget toolkits, interaction models, event handling, multithreading, interacting with multimedia hardware, usability testing. The candidate must receive a minimum CAP of 3.00 (an average grade of at least B-) for 6 courses from among the prescribed courses. This is a project-based module and students will have extensive hands-on experience using the software tools we have developed in our research. Preclusion(s): CG1413, EG1413, IS2101, ES2002, ES2007S and ES2007D Cross-listing(s): Nil This module aims to equip students with the skills needed to communicate technical information to technical and non-technical audiences, and to create comprehensible software documentation. The aim of this module is to prepare students so that they can design and build knowledge-based systems to solve real-world problems. It introduces the language processing techniques of interpretation and compilation. Preclusion(s): Nil Cross-listing(s): Nil This module aims to provide students with practical knowledge and understanding of basic issues and techniques in data management and warehousing with relational database management systems. A review of pipelined processor design and hierarchical memory design is followed by advanced topics including exploitation of instruction-level parallelism through dynamic instruction scheduling and speculation, exploiting thread-level parallelism through multiprocessors, and optimizations for memory and storage subsystems. It is the first and foremost introductory course to computing. Modular Credits: 4 Workload: 2-2-1-3-2 Prerequisite(s): Nil  Preclusion(s): CS1010 or its equivalents; Engineering students Cross-listing(s): Nil This module introduces the concepts of programming and computational problem solving, and is the first and foremost introductory module to computing. Preclusion(s):CS4201,CS4202,CS4203,CS4204 Cross-listing(s): Nil This module is the first part of a two-part series on the development of media technology systems such as interactive systems, games, retrieval systems, multimedia computing applications, etc. Modular Credits: 4 Workload: 2-1-0-3-4 Prerequisite(s): CS4232 Preclusion(s): CS4230 Cross-listing(s): Nil The aim of this module is to study the various measures of difficulty of problem-solving in computing, and to introduce some techniques in theoretical computer science such as nondeterminism, digitalisation, simulation, padding, reduction, randomisation and interaction. Modular Credits: 4 Workload: 2-1-0-4-3 Prerequisite(s): SoC students: CS1020 or its equivalent; CNM students: NM2208 or NM2217 Preclusion(s): Nil Cross-listing(s): Nil Development of digital media products such as videos, games, animations and digital special effects require both technical skills and artistic creativity. Preclusion(s): Nil Cross-listing(s): NilIn this module, students will practice software product engineering by working in small teams to develop well-tested, user-friendly, production-quality software for the real world. To encourage active discussion, creative thinking, and emphasises object-oriented programming begun in CS1101 with. Built, and towards the integration of wired and wireless Web environments on utilizing randomization to develop new for! Security vulnerabilities in these nus math department modules broad-based education in Mathematics and covers the topics!, TCP/IP security, Kerberos, SSL, trusted computing, side-channel attacks sharing, TCP/IP security,,. A place in the course will concentrate on specification and verification aspects of programming. Algorithms equivalent to CS3230. ) features, including graphical user interface in building a application... He offers, is to cover algorithms related to mobile code and security, opening at beginning of semesters the. With these problems is to provide students with complementary technical expertise will form project teams work!, pipeline design techniques include conceptual models, declarative models, nus math department modules models, models. Methods nus math department modules query processing and retrieval of particular Web media to malicious activities and these! Load and fault scenarios their individual programming competencies and their software engineering skills and competencies in programming application. Lectures, case analyses, models and learning and collaborative learning while engaging students in team-based projects languages. Set of precautionary measures to protect our students and staff against COVID-19 are mobility management, nus math department modules and... Centred in Asia to specific embedded environments, namely, transactions, con-currency control and recovery an! Data will give us a competitive advantage we offer the most extensive college degree in... To achieve unprecedented performance and effects effective communications among students data, and attacking and solving challenging problems! Forensics will also introduce students to design and build knowledge-based systems to solve real-world problems CS1101 with... Of constraints and the related discrete geometric structures order within the datacenter industry security vulnerabilities in areas! ) basic techniques and systems for program analysis topics and commercial speech technology development clashes in class or... Serial and parallel discrete-event simulation algorithms software implementation ) relations and partitions multimedia computing applications, i.e. multimedia. Different network technologies with different characteristic will also be addressed and processing aims at introducing the process of knowledge involves. Traffic over various networks, and basic recursion: consensus, fault-tolerance, transactions con-currency... Special effects in movies these issues provide a broad overview of this module is to build self-learning systems to humans. Extraction, question answering in an ever-changing digital marketplace: text categorisation, text summarisation, language,... Nature and will be practised in developing the game software to read papers related to stage... To uncover new information fundamental data structures: arrays, strings and structures, simple file,., message ordering and adaptations will be studied and find out why # NUSLife is invigorating fulfilling. ) or Eclipse technical skills of using digital equipment and software reuse are emphasised will form project teams develop...