bachelor of computing · internet architecture cs2105 intro. to computer networks st2334...

60
Briefing on Bachelor of Computing Computer Science 2018/19

Upload: others

Post on 03-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Briefing on Bachelor of Computing Computer Science

2018/19

Page 2: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

A/P Ooi Wei Tsang Deputy Head (CS Programs)

[email protected]

Page 3: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

1. Degree Requirements for BComp(CS)

2. General Advice3. Q&A

Page 4: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Why are you here?

Page 5: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Why are you here?

A. I love CS. It’s what I want.B. I heard CS is fun and want to tryC. The prospect is goodD. My parents want me to

Page 6: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Degree Requirements(cohort 18/19)

Photo by GianniSome Right Reservedhttps://www.flickr.com/photos/goodimages/797808955

http://www.comp.nus.edu.sg/programmes/ug/cs/curr/

Page 7: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Disclaimer: Information on this set of slides have been simplified to a form suitable for a 60-min presentation, and should not be treated as official degree requirements. Students should always refer to official SoC Website and NUS Bulletin for complete, up-to-date, information.

Page 8: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

BComp(CS)Degree Requirement

(cohort 18/19)http://www.nus.edu.sg/nusbulletin/school-of-computing/undergraduate-education/degree-requirements/bachelor-of-computing-in-computer-science/

Page 9: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Special Programmes & Double Degree Programmes

requirements are slightly different

Page 10: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

32 MCs Unrestricted

Electives

20 MCsUni-level

Requirements

108 MCsProgram

Requirements

Page 11: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

36 MCsCS Foundations

24 MCsBreadth & Depth

8 MCsTeam Project

12 MCsIndustrial Experience

12 MCsIT Professionalism

16 MCsMath & Sci

Page 12: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS Foundations

CS1101SProgramming Methodology

CS2040Data Structures

& Algorithms

CS2030Programming Methodology II

“Programming Fundamentals”

Page 13: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS Foundations

CS1101SProgramming Methodology

CS2040Data Structures

& Algorithms

CS2030Programming Methodology II

“Computer Systems

CS2100Computer

Organisation

CS2106Intro. to Operating

Systems

CS2105Intro. to Computer

Networks

or

Page 14: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS Foundations

CS1101SProgramming Methodology

CS2040Data Structures

& Algorithms

CS2030Programming Methodology II

“Theoretical Foundations”

CS2100Computer

Organisation

CS2106Intro. to Operating

Systems

CS2105Intro. to Computer

Networks

CS3230Design & Analysis

of Algorithms

CS1231Discrete

Structures

Page 15: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS1101SProgramming Methodology

CS2040Data Structures

& Algorithms

CS2030Programming Methodology II

“Software Engineering and Practices”

CS2100Computer

Organisation

CS2106Intro. to Operating

Systems

CS2105Intro. to Computer

Networks

CS3230Design & Analysis

of Algorithms

CS1231Discrete

Structures

CS2103TSoftware

Engineering

Team Projects

Industrial Experience

Page 16: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

IT Professionalism

CS1101SProgramming Methodology

CS2040Data Structures

& Algorithms

CS2030Programming Methodology II

CS2100Computer

Organisation

CS2106Intro. to Operating

Systems

CS2105Intro. to Computer

Networks

CS3230Design & Analysis

of Algorithms

CS1231Discrete

Structures

CS2103TSoftware

Engineering

Team Projects

Industrial Experience

CS2101Communication

IS1103Computing &

Society

ES2006Comm. in the

Info. Age

co-req

Page 17: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

1 2

2

2 3

3 3

1

3

4

4

3

1

1

Page 18: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Team Projects

CS3203

CS3281 CS3282

CS3216 CS3217

+

Page 19: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Industrial Experience

CP3880 ATAP

CP3200SIP I

CP3201SIP II

IS4010

iLead

NOC

FYP*

Page 20: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Math and Science

MA1301IntroductoryMathematics

MA1521Calculus for Computing

MA1101RLinear Algebra I

ST2334Probability and

Statistics

PC1221Fundamental of

Physics I

PC1222Fundamental of

Physics II

or

Science Module(with A-Level

Physics)

orIf no A-level/H2 Math

Page 21: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Breadth & Depth

Complete >= 12 MCs at Level-4000 or above

Satisfy at least one CS Focus Area: by completing three modules in Area Primaries (at least one at Level-4000 or above)

Page 22: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Algorithms & Theory

CS3230Design & Analysis

of Algorithms

CS1231Discrete

Structures

CS4234Optimisation Algorithms

CS4231Parallel & Distributed Algorithms

CS4232Theory of

Computation

CS3236Intro to Info

Theory

ST2334Prob and Stats

Page 23: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Artificial Intelligence

CS3243Intro. to AI

CS1231Discrete

Structures

CS3244Machine Learning

ST2334Probability and

Statistics

CS4246AI Planning &

Decision Making

CS4244Knowledge-

based Systems

CS2040Data Structures

& AlgorithmsMA1521

Calculus for Computing

MA1101RLinear Algebra

Page 24: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Networking & Distributed SysCS3103

Comp. Networks Practice

CS4222Wireless

Networking

CS4226 Internet

Architecture

CS2105Intro. to Computer

Networks

ST2334Probability and

Statistics

CS3230Design & Analysis

of Algorithms

CS4231Parallel & Distributed Algorithms

Page 25: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Computer Security

CS3235Comp. Security

CS4236Crypto Theory &

Practice

CS4238Computer

Security Practices

CS2107Intro. to Info.

Security

CS1101SProg.

Methodology

CS2105Intro. to

Computer Networks

CS2106Intro. to

Operating Systems

CS1231Discrete

Structures

CS2040Data Structures

& Algorithms

CS4239Software Security

CS2103Software

Engineering

Page 26: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Database Systems

CS3223DB Sys.

Implementation

CS4221DB App Design

and Tuning

CS4224Distributed DB

CS2102Database Systems

CS1231Discrete

Structures

CS2030 Programming Methodology II

CS2040Data Structures and Algorithms

CS4225Big Data Systems

for DS

Page 27: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Multimedia Information Retrieval

CS4242Social MediaComputing

CS4248Natural Lang. Processing

CS3245Information Retrieval

CS2040Data Structures

& Algorithms

CS2108Intro to Media

Computing

CS2030Programming Methodology II

ST2334Probability and

Statistics

CS4347Sound & Music

Computing

Page 28: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Computer Graphics & Games

CS3241Computer Graphics

CS2040Data Structures

& Algorithms

CS32423D Modelling &

Animation

MA1521Calculus for Computing

MA1101RLinear Algebra I

PC1221Fundamental of

Physics I

CS3247Game

Development

CS4350Game Dev

Project

CS4247Graphics

Rendering Techniques

CS2030Programming Methodology II

Page 29: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Parallel Computing

CS3210 Parallel

Computing

CS2100Computer

Organisation

CS4231Parallel &

Distributed Algo

CS3211 Parallel &

Concurrent Programming

CS2106Intro to OS

CS4223Multi-core

Architecture

CS3230Design &

Analysis of Algo

Page 30: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Programming Languages

CS2104 Prog. Lang. Concepts

CS4215Prog. Lang.

Implementation

CS3211 Parallel &

Concurrent Programming

CS2106Intro to OS

CS4212Compiler Design

CS2030Programming Methodology II

CS2040Data Structures

& Algorithms

Page 31: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Software Engineering

CS3219S.E. Principles and Patterns

CS4211Formal Methods for

Software Engineering

CS4218Software Testing

CS2103Software

Engineering

CS3235Comp. Security

CS4239Software Security

Page 32: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Focus Area ElectivesEach area has a list of electives for students who wants to learn more after meeting the focus area requirements

http://www.comp.nus.edu.sg/undergraduates/cs_cs_focus.html

Page 33: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Breadth & Depth

Complete >= 12 MCs at Level-4000 or above

Satisfy at least one CS Focus Area: by completing three modules in Area Primaries (at least one at Level-4000 or above)

Page 34: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

UE

Completely unrestricted. Options:

1. Gain broader / deeper knowledge in computing2. Gain broader knowledge in a non-computing domain3. Mix 1 & 2

Page 35: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Some interesting options:

• Second Major in Mathematics• Second Major in Statistics• Minor in Mathematics• Minor in Statistics• Minor in Financial Mathematics • Minor in Life Science• Minor in Geography Information Systems• Minor in Interactive Media Development• Minor in Management• Minor in Technopreneurship

and many others http://www.nus.edu.sg/registrar/education-at-nus/undergraduate-education/special-undergraduate-programmes/minor-programmes.html

Page 36: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

BComp(CS)Study Planning

(cohort 18/19)

Page 37: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

(A Rough Guideline)

Page 38: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS1101SProgramming Methodology

CS2030Programming Methodology II

CS2100Computer

Organisation

CS1231Discrete

Structures

IS1103Computing &

SocietyYear 1

“The Basic Foundation”how to solve basic computing problems through programming; how does a computer work; basic computing math; ethical/legal/social issues on

computing

+ ULR/UE + Math/SciCS2040Data Structures &

Algorithms

Page 39: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

CS2105Intro. to Comp.

Networks

CS2106Intro. to

OS

CS3230D&A of

Algorithms

CS2103TSoftware

Engineering

CS2101CommunicationYear 2

+ ULR/UE + Math/Sci + Focus Area Basic

“The CS Core”how to deal with complex systems and software;

advanced algorithms and data structures; develop soft skills

ES2006Communication

Page 40: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Team Projects

Industrial ExperienceYear 3

+ ULR/UE + Math/Sci + Focus Area Primaries

“The Practical Year”apply knowledge to projects, internships, NOC;

drilling deeper into focus areas

Page 41: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Year 4 + ULR/UE + Math/Sci + Focus Area

“Choose Your Own Adventure”

round up your training by pursuing advanced modules or projects of your interests

Page 42: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

What to do during recess?

Orbital, CVWO, Internship, Summer School, Independent Project, etc.

Page 43: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

BComp(CS)Degree Requirement

(cohort 18/19)

Page 44: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Turing Programme

Page 45: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Turing Programme

participate in cutting-edge CS research happening in our dept.

for students who may want to pursue a research career in industry or academia.

Page 46: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Turing Programme

Take CS2309 (CS Research Methodology)

Do a UROP (UG Research Opportunity Project) under a professor’s mentorship

Page 47: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Degree Requirements(cohort 18/19)

Photo by GianniSome Right Reservedhttps://www.flickr.com/photos/goodimages/797808955

http://www.comp.nus.edu.sg/programmes/ug/cs/curr/

Page 48: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

At NUS CS, learning is very different from your

prior education

Page 49: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

less rote learning;more open-ended problems;

more self-learning

Page 50: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

learn how to learncomputing is a fast moving field;

never stop learning.

Page 51: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

learn what to learnsome principles remain constant

even though the hardware, language, etc has changed.

Page 52: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

don’t optimise for grades and CAPs

Page 53: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

optimise your skills, knowledge and experience

instead

Page 54: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

don’t worry about bell curve

cooperate, not compete among yourselves

Page 55: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

be involvedjoin clubs, teach, organise activities,

form study groups, etc.

Page 56: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

invest time to master the tools

(e.g., bash, vim, git, etc)think long term benefits,

not how to get things done now

Page 57: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

plan your study; make informed decision

many options: NOC, TP, SEP, DDP, DMP, Orbital, CVWO, Internship,

independent projects

Page 58: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

1.Be prepared to learn differently

2.Learn how/what to learn3.Focus on learning, not grades4.Participate, share, lead5.Plan early

Page 59: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

from your seniors:

Notes to CS Freshmen from the Future

Page 60: Bachelor of Computing · Internet Architecture CS2105 Intro. to Computer Networks ST2334 Probability and Statistics CS3230 Design & Analysis of Algorithms CS4231 Parallel & Distributed

Q&A