Bachelor of Computing

Overview
Course Structure
Admission Requirements
Programme Selection
Degree Requirements
Electives
Advanced Placement Credits
Advisory Service
Undergraduate Research Opportunity Programme
Talent Development Programme
 

Overview
The School of Computing offers three undergraduate major programmes in Computing. The CS programme leads to Bachelor of Computing (Computer Science). The IS programme leads to Bachelor of Computing (Information Systems). The IT programme leads to Bachelor of Computing (Information Technology). The CS and IS programmes will strongly emphasise academic foundation in the basic and related disciplines to prepare graduates for leadership in their respective professions. All CS/IS candidates must complete a team project and an individual honours project.

The 4-year CS programme, with academic rigour, aims to develop graduates with a strong technical knowledge of computer science and technology. The programme emphasizes the fundamentals of the four pillars of computer science, viz, programming languages, theory/algorithms, architecture, and networking.

Possible jobs for CS graduates include R&D engineer/specialist, system consultant, technical support specialist and software specialist. Possible employers include software developers, commercial research organizations, and tertiary institutions.

The 4-year IS programme will provide a superior multi-disciplinary education, combining the academic disciplines of computer science and management. The programme focuses on the application of information technology to enhance the effectiveness of organizations and businesses. It also analyzes the impact and trends of technology, and the relevant implications for the economy and society.

IS graduates will meet the market demand for MIS specialists, management consultants, and technology analysts. Possible employers include end-users, systems integrators, consultancies, market research firms, regulatory agencies, and investment advisors.

The 3-year IT programme is designed to provide a sound scientific education, targeted at the needs of local and regional IT users and vendors. The programme combines theoretical training with industrial training and practical technology experience. Students will develop professional competence in programming, abstraction, and conceptual skills of computing. All students must complete an intensive programming project and full-time industrial attachment.

IT graduates will meet national IT manpower needs in major job segments such as programmer analyst, systems analyst, systems programmer, system integrators and end user support analyst. IT graduates will be able to contribute immediately to the development needs of the local and regional economies.
 

Course Structure
All three programmes – CS, IS, and IT -- share a set of common essential modules. These common essentials include modules to ensure diversity – Human Resource Management, and Communications. We expect most students in all programmes to read these common modules starting from the first semester. (Please refer to Table 1 for a broad summary.)

The common essentials are followed by programme essentials, which are requirements tailored to the specific programmes. At this stage, students begin to specialize according to their programme. Finally, the programme is completed by a breadth requirement consisting of elective and enrichment modules. The programme structure allows students to take more than 20% of their modules from outside the School. This enables students to seek diversity from their main discipline.
 

Admission Requirements
A candidate for these programmes must have a good pass in Mathematics (Syllabus A or C) at the GCE 'A' level. Candidates who have taken Computing or Further Mathematics or Physics at GCE ‘A’ level are preferred. Polytechnic graduates with good results in computer science can apply for advanced standing.
 

Programme Selection
Candidates will pursue largely common modules in the first two semesters. After two semesters, a candidate will be admitted to the appropriate programme based on his/her interest, career orientation and the results of modules taken. Transfer among programmes will be allowed for up to four semesters.
 

Degree Requirements
The requirements are shown in Table 1. Each programme consists of essential, elective, and enrichment modules. The overall degree requirement is based on modular credits. The credit requirements are 135 modular credits for the 4-year CS and IS programmes and 105 modular credits for the 3-year IT programme. As modules have different credits, the requirements translate roughly to 40 modules for the 4-year CS and IS programmes and 30 modules for the 3-year IT programme. To graduate, a student must obtain a CAP of not less than 2.00.

The common essential modules are those that students from all the three programmes (CS, IS and IT) must pass. They cover programming, systems, networking, and breadth subjects:

CS1101 Programming Methodology (or CS1101S)
CS1102 Data Structures and Algorithms
CS2103 Software Design Methodology
CS2104 Programming Language Concepts
CS1103 Digital Logic Design
CS1104 Computer Organisation

CS2102 Introduction to Database Systems
CS2106 Operating Systems

CS2105 Computer Communication Networks
CS3103 Networking & Client-Server Computing

CS1301 Discrete Mathematics
HR3101 Human Resource Management
CS2301 Business and Technical Communication
Each programme has its own specific set of programme essential modules, to provide a basic foundation for the respective disciplines. The 4-year CS and IS programmes, being broader and more fundamental, have 8 programme essential modules. The 3-year IT programme has only 4 programme essential modules.

The elective modules are grouped into six broad areas of computer science and information systems:

A1. Programming & Software Engineering
A2. Computer Systems
A3. Theory & Modelling
A4. Humans & Computers
A5. Management of Information Systems
A6. Business & Technology

This grouping ensures that in selecting elective modules, students can have breadth (covering a few areas) and depth (taking many modules from one area). Please refer to the elective section for the detailed modules for each area.

Enrichment modules, primarily outside the subject major of candidates, constitute about 30% of total modules that a candidate must read. In order to encourage students to broaden themselves, the enrichment component of all three programmes is unrestricted. A student matriculates in 1999/2000 must take all enrichment courses from outside the school, but must take at least 9 modular credits, worth of cross-faculty modules.

      Table 1: Overview of Programmes
      Common Essentials  
      CS1101/CS1101S Programming Methodology 
      CS1102 Data Structures and Algorithms  
      CS1103 Digital Logic Design  
      CS1104 Computer Organisation  
      CS1301 Discrete Mathematics
      CS2102 Introduction to Database Systems* 
      CS2103 Software Design Methodology* 
      CS2104 Programming Language Concepts* 
      CS2105 Computer Communication Networks 
      CS2106 Operating Systems 
      CS2301 Business & Tech. Communications  
      CS3103 Networking & Client-Server Computing  
      HR3101 Human Resource Management  
       

      * CS programme students must pass CS2102S, CS2103S and CS2104S. IS programme students must pass CS2102S and CS2103S.

       
       
      4-YEAR Computer Science (135 MC)  Programme Essentials 
      CS1305 Problem Solving for Computing 
      CS3220 Computer Architecture 
      CS3230 Design and Analysis of Algorithms  
      CS3243 Artificial Intelligence 
      MA1102 Calculus 
      one level-2 Mathematics module 
      one Physics module  
      one Biology module 

      Elective 
      Select 3 areas from A1 to A4. Pass seven modules from these areas with at least four at level-4. Each select area must have at least one level-4 module pass. 

      Enrichment  
      Pass an appropriate number of modules with at least three level-2 modules to make up 135 modular credits.

      4-YEAR Information Systems (135 MC)  Programme Essentials 
      EC1310 Principles of Economics 
      CS1303 Principles of Management 
      CS1304 Accounting 
      CS2250S IS Theory and Practice 
      CS3213 Systems Analysis & Design 
      MA1100 Basics of Mathematics 
      ST2334 Probability and Statistics 
      one Biology module 

      Elective 
      Select 3 areas including A5 and A6 and one from A1 to A4. Pass seven modules from the selected areas with at least four at level-4. Each select area must have at least one level-4 module pass. 

      Enrichment 
      Pass an appropriate number of modules with at least three level-2 modules to make up 135 modular credits.

      3-YEAR Information Technology (105 MC)  Programme Essentials 
      CS3213 Systems Analysis & Design 
      MA1100 Basics of Mathematics 
      ST2334 Probability and Statistics 
      one Biology module 
       
       
       
       

      Elective 
      Select 3 areas consisting of two from A1 to A4, and one from A5 and A6. Pass four modules from the selected areas, and with at least one level-3 module in each selected area. 

      Enrichment 
      Pass an appropriate number of modules to make up 105 modular credits.

      Projects  CS3101 Project Module / (CS2288 + CS3288 UROC) / (CS2101 + CS3102 IA) 
      CS4101 Honours Project 
      CS4102 Technical & Management Training
      Projects  CS2101 Intensive Programming Project & Training + 
      CS3102 Industrial Attachment
      Electives

      A1 – Programming & Software Engineering
      CS3210 Compiler Writing
      CS3211 Parallel Programming: Theory and Practice
      CS3212 Programming Paradigms and Systems
      CS3213 Systems Analysis and Design
      CS4210 Constraint and Logic Programming
      CS4211 Software Engineering and Project Management

      A2 - Computer Systems
      CS3220 Computer Architecture
      CS3221 Advanced Operating Systems
      CS3222 Microprocessors Technologies and Systems
      CS3223 Database Management Systems
      CS4220 Computer Systems and Servers Interfacing
      CS4221 Database Design
      CS4222 Advanced Networking: Protocol Design and Implementation

      A3 – Theory & Modelling
      CS3230 Design and Analysis of Algorithms
      CS3231 Automata Theory and Formal Languages
      CS3232 Systems Modelling and Simulation
      CS3233 Competitive Programming
      CS4230 Computational Complexity
      CS4231 Parallel and Distributed Algorithms
      CS4232 Performance Analysis of Computer Systems

      A4 – Humans & Computers
      CS3240 Human Computer Interaction
      CS3241 Computer Graphics
      CS3242 Hypermedia Information Processing
      CS4240 Advanced Computer Graphics and Virtual Reality
      CS4241 Multimedia Information Retrieval
      CS3243 Artificial Intelligence
      CS3244 Machine Learning and Neural Networks
      CS3245 Decision Making Processes
      CS3246 Computer Animation
      CS4242 Reasoning under Uncertainty
      CS4243 Computer Vision and Pattern Recognition
      CS4244 Knowledge-Based Systems
      CS4245 Computer-based Learning and Instructional Technologies

      A5 – Management of Information Systems
      CS2250 IS Theory and Practice (CS2250S for IS programme)
      CS2251 Business Finance
      CS3250 Management Support Systems
      CS3251 Technology Strategy and Management
      CS3252 Management Science
      CS3253 Management of Information Systems
      CS4250 IS Research Methodologies
      CS4251 Strategic IS Planning
      CS4252 Control, Audit and Security of IS

      A6 – Business and Technology
      CS3260 Telecommunications for Business
      CS3261 IT Marketing
      CS3262 Investment Technology
      CS3263 Financial Markets
      CS4260 Electronic Commerce
      CS4261 Forecasting and Time Series Analysis
      CS4262 Financial Trading and Visualization Technology
       

Advanced Placement Credits
Advanced placement permits candidates to complete the degree programme in a shorter time. A candidate with good 'A' or ‘S’ Level results or good results from a polytechnic in Singapore, will be given advanced placement credits for the relevant subject. Candidates with good results equivalent to ‘A’ level or polytechnic diplomas can apply for advanced placement credits through the Programme Director (Undergraduate Programmes).

‘A’ Level Students
Candidates with the following A-level grades will receive credits for the relevant level-1 modules:
 

‘A’ Level Subjects
‘A’ Level 
Grades
Module to be Credited
Modular Credits
Computing
B and above
CS1101
4
Accounting
A
CS1304
3
Economics
A
EC1310
4
Further Maths
A
MA1100
4
Physics
A
PC1221
3
Polytechnic Graduates
The School also admits Polytechnic graduates with good results in computing disciplines. These candidates will be given credits for the following modules to place them on a level equivalent to second year students entering with "A" levels : CS1101, CS1103, CS1304, CS1303, CS2101, CS2301 and CS3102
For students with an Advanced Diploma in Networking, credits will be given for two additional modules: CS1104, and CS2105.

Advisory Service
Students with problems or queries are encouraged to make appointments to see the following academic advisors:
(i)      Undergraduate Advisors

a) Dr Ang Chuan Heng, Blk S15 #05-14, Tel : 8742729
b) A/P Chionh Eng Wee, Blk S16 #04-10, Tel : 8746227
c) Dr Tan Kian Lee, Blk S16 #09-08, Tel 8742862
d) Dr Tan Sun Teck, Blk S15 #03-14, Tel : 8742778
 (ii)     Foreign student advisors
a) Dr Heng Aik Koan, Blk S15 #05-13, Tel 8742731            Mauritius
b) Dr Mohan Kankanhalli, Blk S17 #04-19, Tel 8746738      Indian Sub-continent
c) Dr Setiono Rudy, Blk S17 #04-21, Tel : 8746297              Indonesia
d) A/P Wang Ke, Blk S17 #05-22, Tel : 8746562                 China
 E-mail enquiries should be sent to bcomp@comp.nus.edu.sg.

Undergraduate Research Opportunity Programme

The School has two courses to provide opportunities for research in computing by talented undergraduate students:
 
 

Code Title
CS2288  Basic Undergraduate Research in Computing 
CS3288 Advanced Undergraduate Research in Computing 
Purpose
The aim of these two courses is to foster intellectual exchange and collaboration between undergraduates and academic staff members. It allows undergraduates to participate in active research at the School of Computing, and to experience at first hand the challenges and exhilaration of discovery and invention. Students will be working at, or near, the frontiers of computing research and this will complement their coursework.
Students will conduct research under the supervision of academic staff members of the School of Computing. Typically, the research involves the following activities: problem identification, literature survey, attending research seminars, proposal and implementation of solution, evaluation, and documentation and presentation of results.

The relative importance of each of the above activities can vary widely depending on the chosen research topic (from basic research to applied research to application development). The emphasis in CS2288 is to build up a good research foundation. With this foundation, CS3288 involves a more substantive independent research project. Students taking CS3288 will not have to do CS3101/CS3102 as CS3288 will be used to satisfy the CS3101/2 project requirement of the School of Computing.
The final target of these courses will be a UROP research report that will be evaluated through an oral presentation. The oral presentation will be in August for CS2288. For CS3288, the oral presentation will be held at the same time as that for CS3101/2 project presentations.

Administration
Both courses will be administered by a UROP Coordinator, under the Office of Special Programmes in the School of Computing.

Duration
These research courses begin in the first week of Semester I vacation (mid-Nov). Students will do 6 weeks of full-time research during the Semester I vacation. During the first 7 weeks of the following Semester II, students spend about 3 hours per week on related readings and seminar attendance. The programme comes to a temporary halt for the rest of Semester II to enable students to prepare for and take their Semester II examinations. The student then continues for another 9 weeks of full-time research during the Semester II vacation, at the end of which he/she will submit a paper for publication in the Proceedings of the National Undergraduate Research Opportunities Programme (NUROP) Congress. The NUROP Congress is held annually in September.

Course Codes and Eligibility
i. Only students with good academic results (with a minimum CAP of 3.2 and/or B grade in relevant subjects) may apply to join the UROP courses.
ii. A student can take only one UROP course (CS2288 or CS3288) during each academic year.
iii. A student intending to take CS3288 must have completed CS2288 with a recommendation from the supervisor/mentor. It is preferable (but not compulsory) that
    the research topic undertaken in CS2288 be related to the project proposed for CS3288. This is to allow CS2288 to serve as a foundation for the more
     substantial CS3288 project.
iv. Under the Modular System, a student taking CS2288 or CS3288 will have to register for the usual load of each semester.
v. Students taking CS2288 or CS3288 will be permitted to read at most one module during the Special Term in May-June.
vi. The CS3288 course shall be read in lieu of the CS3101/2 project module. Students doing CS3288 are expected to continue working on the project after
     Semester II until the end of the following Semester I, during which they will write a report and give a presentation as required of other students taking CS3101/2.

Academic Transcripts
i. A student who has completed the CS2288 course will have his/her transcript credited with 4 modular credits (one module for those in the transition system), and an appropriate grade (from A+ to F). A student who has completed CS3288 course will have his/her transcript credited with 10 modular credits (two modules for those in the transition system) and the appropriate grade (from A+ to F). The grade obtained for both courses will be used to compute the CAP.
ii. A student can withdraw from a CS2288 or CS3288 course by the second week of Semester II (i.e., second week of January) without any penalty. Likewise, a supervisor/mentor can terminate a project by the second week of Semester II. A student can request a change of supervisor if his/her project has been terminated by his/her supervisor by the second week of Semester II. This is subject to the consent of the new supervisor and the UROP Coordinator.
iii. No withdrawal/termination/change of supervisors will be allowed after the second week of the Semester II. A student who withdraw from the CS2288/CS3288 after this date shall be deemed to have failed in the course.

Exemptions
Any requests for exemption from these rules will be dealt with by the UROP Coordinator in consultation with the Office of Special Programmes.
 
 
Talent Development Programme
The Talent Development Programme (TDP) is a premier programme for academically talented and highly motivated students. The TDP offers special challenges and the best opportunities to qualified students, and encourages them to seek breadth and excellence in their undergraduate studies. It is directed at students who have potential to become leaders in their chosen fields in the future.

TDP aims to nurture both general and technical leadership. For general leadership development, TDP students take part in the various excellent programmes under the broad umbrella of the university TDP. To nurture technical leadership in the domain of Computing, TDP students enjoy a broad-based, challenging and stimulating university experience.

TDP students enjoy greater flexibility in course planning and module selection. This planning is done in consultation with a TDP Mentor assigned to each TDP student. To build a solid foundation, TDP students take the following specially designed independent study modules:

TDP students enjoy early opportunities for independent research work under the UROP(Computing) programme where they take the modules CS2288 and CS3288. Finally, TDP students are given ample opportunities and support for leadership roles in activities within the School of Computing. They plan their own annual programme of activities for TDP.

For more information on TDP, you can either consult the Office of Special Programes in the School of Computing or check the School of Computing web-site at (http://www.comp.nus.edu.sg/) under Special Programmes. For more information on the TDP, please refer to the TDP brochure which is available from the Registrar's Office.