Welcome to CS1101 & SOC Bad news… CS1101 is hard, CS1102 is harder … need I say more? Good news… It may be hard, but it is do-able, And we have many live examples… Aaron is the best instructor Multiple winners of Best Teacher Awards Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.1 Copyright © 2008 by Leong Hon Wai CS1101 outcomes… Ability to devise computer solutions Ability to devise (and plan) algorithm Ability to translate plan to code (Java) Ability to develop and test programs Ability to analyze program running time Awareness of program development issues History, relevance, and impact of computing SW Engineering issues Abstraction skills (data and procedural) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.2 Copyright © 2008 by Leong Hon Wai CS1101 outcomes (2)… Using Java as a vehicle Writing Java program Famaliarity with Java syntax, features, etc Data types (simple, structured, libraries) Statements (assignment, if, case, while, repeat) OO features: class, objects, inheritance, etc Appreciate relevance of mathematics Discrete math, discrete modelling, graph theory Develop good programming styles and habits Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.3 Copyright © 2008 by Leong Hon Wai The Message…. Programming is Difficult, It can be acquired, It is Challenging, YET STIMULATING Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.4 Copyright © 2008 by Leong Hon Wai Two slides from my USP module UIT2201: CS and IT Revolution. Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.5 Copyright © 2008 by Leong Hon Wai Figure 1.9 Organization of the Text into a Six-Layer Hierarchy (UTT2201: Introduction) Page 6 LeongHW, SoC, NUS © Leong Hon Wai, 2003-2008 Some Underlying Principles Recurring principles (themes) in CS & IT. They pop-up in multiple places… 1. Multiple Levels of Abstraction from very high level to very low level 2. Divide and Conquer also called “Decomposition” 3. One data, multiple views Different “interfaces” 4. Defining set of primitives (building blocks) Or basic-operations, mini langugages 5. Power of Iteration doing something multiple times (UTT2201: Introduction) Page 7 LeongHW, SoC, NUS © Leong Hon Wai, 2003-2008 Some slides inspired by the ACM Curriculum Recommendations… Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.8 Copyright © 2008 by Leong Hon Wai Modern view of Computing… Theory, Abstraction, Design and Social Context Three distinct paradigms Social Context of Computing Abstraction Theory Social Context Design Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.9 Copyright © 2008 by Leong Hon Wai Theory Paradigm Tend to take mathematician’s viewpoint Concerned with formal definitions, axioms, and theorems Proofs as underlying media for exploring ideas and thoughts about computation Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.10 Copyright © 2008 by Leong Hon Wai Modern view of Computing (2) Abstraction Paradigm Scientific point of view Rooted in the sciences (physics, chemistry, biology) Concerned with formation of hypotheses, construction of models Making predictions, running experiments, and testing results Perceiving patterns in midst of details and the formal representation of these patterns Design Paradigm Rooted in Engineering Concerned with system feasibility, costs, efficiency, and alternatives Accessing requirements, formulating specifications Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.11 Copyright © 2008 by Leong Hon Wai Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.12 Copyright © 2008 by Leong Hon Wai Road to a CS Professional Basic Programming, Data Structures Software Engineering Database, Networking, Graphics, Media, Algorithm Design, Embedded Systems,… Advanced Courses Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.13 Copyright © 2008 by Leong Hon Wai All the best to all You have come to “a place of multiple opportunities” Work hard, Play hard Keep your eyes, ears, open Also your online-feeds ALWAYS ON Make the best of it Do something you are passionate about Make a difference Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.14 Copyright © 2008 by Leong Hon Wai Thank you. Q &A Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.15 Copyright © 2008 by Leong Hon Wai Additional slides adapted from my recruitment talks… Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.16 Copyright © 2008 by Leong Hon Wai Flexibility in SOC One faculty, 2 departments, 6 specializations You can choose to do different things in SOC Like research (all) Build Things (HW) with CE Theoretical stuffs, algorithms, etc Build Things (SW) with CS Like open source software Like architecting Software systems Management with Info Systems Interactive Design with CM Start your own Company with CS/IS/e-Com Get into SOC first, then decide after 1 year in SOC (except CB, CE) One Degree, Many Majors COMPUTER SCIENCE B.Comp. (Computer Science) + BIOLOGY B. Comp. (Computational Biology) + BUSINESS B.Comp. (Information Systems) B.Comp. (E-Commerce) + ENGINEERING B.Comp. (Computer Engineering) + INTERACTIVE DIGITAL MEDIA B.Comp. (Communication and Media) If you like software development… a SOC Technical Career Ladder. CTO Software Architect Project Manager / Leader Programmer / Developer B. Comp (some major) These positions are from many areas: Application Development, Database development, Networking/Telecomm, Security, Data Centers, Internet programming, AI specialists, Optimization specialist, If you like technical management… a SOC Management Career Path. CIO, COO, GM These can be in many types of organizations: Business Development Project Manager / Leader Programmer / Developer B. Comp (some major) Software companies, Vendor environment, Large MNC, Government departments, End-User Organizations If you like technical sales… a SOC Sales Career Path. CEO, MD, GM Sales Project Manager / Leader Programmer / Developer B. Comp (some major) These can be in many types of organizations: Software companies, Vendor environment, Large MNC, Government departments, End-User Organizations (govt. dept, banks, hospitals, hotels, manufacturing, restaurants, education, startups, etc) If you like to solve problems… a SOC Startup / Consultant Career. Founder / CTO Startup / Consultant Programmer / Developer B. Comp (some major) These can be in many business domains: Solution provider, Systems integration, Networking/Telecom, Wireless, Internet, Logistics/Transportation, AI specialists, Optimization specialist, Innovative Product Dev, Solid and Cool products Lots of Job Choices for YOU