22
Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White] http://www.cs.cornell.edu/courses/cs1110/2019sp

Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Life after CS 1110

CS 1110Introduction to Computing Using Python

[E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]

http://www.cs.cornell.edu/courses/cs1110/2019sp

Page 2: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Obvious Next Step: CS 2110

• Programming in Java§ Basic Java syntax§ Static vs. Dynamic Types§ Adv. Java Topics (e.g. Threads)

• OO Theory § More design patterns§ Interface vs. Implementation

• Data Structures§ Binary Trees§ Linked Lists§ Graphs

3

Java Specific

Language Independent

Major CS Topic

Page 3: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

CS 2110 Immediately Opens your Options

4

CS 2110CS 3410

CS 4620

CS 3152Introduction to

Computer Game Development

Computer System Organization and

Programming

Introduction to Computer Graphics

CS 4740 Natural Language Processing

Page 4: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

CS 2800: The Other Important Course

• CS requires a lot of math§ Analyzing code performance§ Analyzing data§ Proving code correctness

• Calculus is “wrong math”§ Data is rarely “continuous”§ Limited to specific uses

(e.g. spatial data)• “Grab-bag” course

§ All math needed for CS§ Includes writing proofs

5

Page 5: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

CS 2110 + CS 2880 = Even More Options

6

CS 2110

CS 2800

CS 3110

CS 4670

CS 47xx

CS 4810

Data Structures and Functional Programming

Introduction to Computer Vision

Artificial Intelligence, Robotics, Machine

Learning (some non-cs pre-reqs)

Introduction to Theory of

Computing

Page 6: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Computer Science Course Numbers

• Programming Languages• Scientific Computing• Data Management• Systems• Computational Biology• Graphics and Vision• Artificial Intelligence• Theory• Research

x1xx (e.g. 1110, 2110)x2xx (e.g. 4210)x3xx (e.g. 3300, 4320)x4xx (e.g. 3410, 4410)x5xx (e.g. 5555)x6xx (e.g. 4620)x7xx (e.g. 4758, 4700)x8xx (e.g. 4810, 4820)x9xx (e.g. 4999)

7Level Area

Page 7: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Computer Science Course Numbers

• Programming Languages• Scientific Computing• Data Management• Systems• Computational Biology• Graphics and Vision• Artificial Intelligence• Theory• Research

x1xx (e.g. 1110, 2110)x2xx (e.g. 4210)x3xx (e.g. 3300, 4320)x4xx (e.g. 3410, 4410)x5xx (e.g. 5555)x6xx (e.g. 4620)x7xx (e.g. 4758, 4700)x8xx (e.g. 4810, 4820)x9xx (e.g. 4999)

8Level Area

Separation not perfect;

there is a lot of overlap

Page 8: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Programming Languages

• Adv. Language Topics§ Functional languages§ Streaming languages§ Parallel programming

• Language Theory§ New languages/compilers§ Software verification

• Software Engineering§ Design patterns§ Architecture principles

9

CS 3110

CS 4110CS 4120

CS 3152 CS 4152

CS 5150

Page 9: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Scientific Computing

• Calculus + Computing§ Problems from other

science domains§ Process with computer

• Applications§ Complex simulations§ Physics (games!)

• Challenge: Performance§ Programs can run for days!§ How do we make faster?

10

CS 4210

CS 1132 Math 2220

CS 4220

CS 5643

Page 10: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Data Management

• Modern Web Apps§ Storing user/session data§ Coordinating users

• Databases§ Query languages§ Database optimization§ Organizing your data

• Information Retrieval§ Searching§ Data analysis

11

CS 3110

CS 3300

CS 4320

CS 4300

CS 5300

Page 11: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Systems

• Building BIG software§ Operating systems§ Distributed applications

(e.g. online, networked) § Cloud computing

• Also System Security§ Though that is spread about

• Senior/masters level classes§ Bulk of the 5xxx courses§ But great project courses!

12

CS 3410

CS 4410

CS 5412

CS 5414 CS 5420

CS 5430

Page 12: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Computation Biology

13

• No undergrad classes§ Too much to learn§ Masters/PhD level

• Undergrad options§ BTRY 4840:

Comp. Genomics§ BSCB department

• Hoping to improve…

Page 13: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Graphics and Vision

• Not modeling/art!• Rendering & Animation

§ Illumination/reflection§ Cloth/hair simulation§ Water and fluids

• Processing Images§ Recognizing shapes§ Assembling 3D models

from 2D pictures§ Smart cameras

14

CS 4620

CS 4670CS 5625

CS 5643

Page 14: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Artificial Intelligence

• Not sentient computers• Machine learning

§ Discovering patterns§ Making predictions

• Natural Language Proc.§ Automatic translation§ Searching text/books§ Voice-control interfaces

• Robotics§ Autonomous control

15

CS 4700

CS 4758

CS 4740

CS 4780

CS 4750

Page 15: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Theory

• Analysis of Algorithms§ What is possible?§ What is feasible?

• Analysis of Structures§ Social network theory§ Complex data structures

• Cryptography§ Theory side of security

• Perhaps the most famous group in the department

16

CS 4810

CS 4820

CS 4830 CS 4860

Page 16: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

What About Games?

• CS 3152, Spring only§ Prereq: CS 2110§ But CS 3110 a big help

• Build game from scratch§ Want it to be innovative§ You own the IP

• Interdisciplinary teams§ 5 to 6 people on a team§ With artists/designers

• Final: public showcase

17

Page 17: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Games and the Designer Track

• Coding not your thing?• INFO 3152 (co-meets)

§ Artists/designer track§ No formal training needed§ Submit me a portfolio

• Recommend: INFO 2450§ Start of the HCI sequence§ How design effects

the user experience§ Fall course; no prereqs

18

Page 18: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

19

315241544620 + 462147404780*3410

411041604820

3110|20

2110: Object-Oriented Programming and Data Structures2112: Object-Oriented Design and Data Structures - Honors 2770: Excursions in Computational Sustainability 2800: Discrete Structures2802: Discrete Structures - Honors 2850: Networks

20242110|2 + 2111

2800|24750*

4320 + 43214670 4700 + 4701

11101112*11321133138027702850

4152 {

4120 & 4121

4450

48104850*4860*

A- or better in 2110 and 2800

satisfies 3110 prereq

plus 4700, 4620, or INFO 3300

3110: Data Structures and Functional Programming3152: Introduction to Computer Game Architecture3220: Introduction to Scientific Computation 3410: Computer System Organization and Programming 3420: Embedded Systems (prereq: ENGRD 2300, not shown)4110: Programming Languages and Logics4120: Introduction to Compilers 4152: Advanced Topics in Computer Game Architecture 4154: Analytics-driven Game Design4160: Formal Verification4220: Numerical Analysis: Linear and Nonlinear Problems 4320: Introduction to Database Systems4410: Operating Systems 4450: Introduction to Computer Networks 4620: Introduction to Computer Graphics4670: Introduction to Computer Vision4700: Foundations of Artificial Intelligence4740: Natural Language Processing4750: Foundations of Robotics4780: Machine Learning for Intelligent Systems4786: Machine Learning for Data Science4787: Principles of Large-Scale Machine Learning 4810: Introduction to Theory of Computing4820: Introduction to Analysis of Algorithms4850: Mathematical Foundations for the Information Age 4860: Applied Logic

1110: Introduction to Computing Using Python1112: Introduction to Computing Using MATLAB1132: Short Course in MATLAB 1133: Short Course in Python 1380: Data Science for All2024: C++ Programming

co-req

Practicumsin small font: + : optional & : required

starred (*) courses have at least 1 MATH pre- or co-requisite

See Roster.

bold & colored courses (with corresponding

arrows) indicate prerequisites

{

core classes

4410 + 4411

4786*4787

CS Undergraduate Prerequisite Structure

3220* 4220*any 1xxx class

listed or knowledge of programming

Page 19: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

Computer Science not your ?

Try one of our neighbors!• Information Science• Statistics• Operations Research & Information Engineering• Electrical and Computer Engineering

§ ECE 2400 is a good next step

20

Page 20: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

InfoSci Classes you could have already taken

21

INFO 1300

INFO 2040

INFO 2770Excursions in

Computational Sustainability

Introductory Design and Programming for

the Web

Networks

INFO 3140 Computational Psychology

Page 21: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

InfoSci Classes you can take after some CS

22

INFO 4120

INFO 2950 Introduction to Data Science

Ubiquitous Computing

INFO 3300 Data-driven Web Applications

CS 1110

CS 2110

Not a complete list!

Page 22: Life after CS 1110 - Home | Department of Computer Science · Life after CS 1110 CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner,

23

It's been a great semester!See you at the Final Exam!