6.00 intro: comp sci & programmingweb.mit.edu/~mitter/public/iit_bombay/appendix 3 part...

32
6.00 Intro: Comp Sci & Programming 0 50 100 150 200 250 2009SP 2010FA 2010SP 2011FA 2011SP 2012FA 2012SP 2013FA 2013SP 2014FA

Upload: others

Post on 22-May-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

6.00 Intro: Comp Sci & Programming

0

50

100

150

200

250

2009

SP

2010

FA

2010

SP

2011

FA

2011

SP

2012

FA

2012

SP

2013

FA

2013

SP

2014

FA

6.00 Curriculum Overview

�  Prereqs: ◦  Elementary Mathematics

�  Outcomes: ◦  Basic Programming ◦  Python ◦  Basic tools for data

analysis and simulation ◦  Basic understanding of

probabilities

�  Topics ◦  Programming & Python

�  Variables, control, functions, scope �  Lists �  Recursion �  Object oriented programming �  Exceptions �  Debugging

◦  Algorithms �  Binary search, Newton �  Sorting �  Hash tables �  Complexity, order of growth

◦  Data analysis �  Plotting �  Regression, R2 �  Monte-Carlo simulation �  Clustering (hierarchical, k means) �  Lies and statistics

◦  Optimization �  Knapsack �  Greedy, exhaustive �  Graphs,shortest path �  Dynamic programming

6.01 Structure – a typical week Monday Tuesday Wednesday Thursday Friday Weekend

Lecture Lecture

Recitation

Pset due

� 2x 1-hour lecture � Grading ◦  Lots of graders

� Recitations: ◦ Tas, 1hr

Curriculum Innovation / Unique Aspects / Highlights � Majority of non-course-VI students � Used 6.00x finger exercises last spring ◦  Probably mandatory this spring

6.00 Outcome

� What can follow-on classes expect from a student who took 6.00

� Requirement for some majors ◦  e.g. bioengineering

� 6.01

0

100

200

300

400

500

600

2009

SP

2010

FA

2010

SP

2011

FA

2011

SP

2012

FA

2012

SP

2013

FA

2013

SP

2014

FA

6.01 Introduction to Electrical Engineering and Computer Science I

6.01 Curriculum Overview

�  Prereqs: ◦  Elementary Mathematics

�  Outcomes: ◦  EECS Engineering Ethos ◦  Algorithmic Thinking ◦  Modularity and Abstraction ◦  Modeling ◦  Basic Programming ◦  Python ◦  Communication and

Collaboration

�  Topics ◦  Basic Programming ◦  Graph Search Algorithms ◦  Signals and Systems ◦  Feedback Control ◦  Resistor Networks ◦  Operational Amplifiers ◦  Equivalent Circuits ◦  Conditional Probability ◦  Probabilistic Inference

6.01 Structure – a typical week Monday Tuesday Wednesday Thursday Friday Weekend

Lecture

Lab Lab

Office Hours

Homework Office Hours Office Hours Homework

�  Weekly Assignments: ◦  Online Homeworks (Automatically Graded) ◦  90-minute “Software” Lab (Individual, Automatically Graded) ◦  3-hour “Design” Lab (Pairs, Graded by Checkoff with Staff) ◦  15-minute “Nanoquiz” during Lab (Automatically Graded)

�  Two midterms, Final Exam

Curriculum Innovation / Unique Aspects / Highlights

�  Hands-on, Project-based Learning ◦  Four substantial projects throughout the semester

�  Peer Learning �  Undergraduate Involvement ◦  ~40 undergraduate lab assistants every semester ◦  Student Lab Assistant Option

�  Software Infrastructure: Help Queue and Tutor

6.01 Outcomes �  Exposure to engineering design problems �  Understanding of principles of modularity and abstraction �  Experience using programming to solve various problems �  Experience working in small groups �  Exposure to signals and systems; probability and inference;

graph search algorithms; and analog circuits �  Increased awareness of the usefulness of math in context

0

50

100

150

200

250

300

2009

SP

2010

FA

2010

SP

2011

FA

2011

SP

2012

FA

2012

SP

2013

FA

2013

SP

2014

FA

6.02: Intro to EECS - II

Image Here!

Bits – Signals – Packets

6.02 Curriculum �  Prerequisite: 6.01, and 18.03 or 18.06 �  Bits ◦  Source coding – Huffman coding, Lempel-Ziv-Welch compression ◦  Channel coding – Linear block codes, syndrome decoding,

convolutional codes, Viterbi algorithm

�  Signals ◦  Noise – probability distributions, optimal detection, SNR ◦  Channels – Physical channels, LTI models for baseband channel,

unit sample response, convolution ◦  Frequency response, filtering ◦  Spectral content of signals via DTFT ◦  Modulation/demodulation, frequency-division multiplexing

�  Packets ◦  Statistical multiplexing ◦  Queues – Little’s law, understanding delays ◦  Medium Access Control – TDMA, contention protocols ◦  Routing – Dijkstra’s algorithm, Bellman-Ford distributed algorithm ◦  Reliable transport – retransmissions, sliding windows

Curriculum Innovation / Unique Aspects / Highlights �  Bits, Signals, Packets taught as 3 separate but linked modules �  2 lectures, 2 recitations each week; extensive use of Piazza �  ~50% grade based on 3 corresponding quizzes �  ~50% grade based on 9 problem sets ◦  Theory/conceptual questions ◦  Python-based labs, can be done on student laptops (department labs are just for

TA and LA help, or if students can’t get things to work on their own computers)

�  Good course notes at this point, also an OCW version from Fall 2012

�  A key sequence of labs: Audiocom where students figure out how to send digital information from the loudspeaker on their laptop to the microphone on their laptop using pulse amplitude modulation of a carrier tone (or multiple tones for FDM!). Good real-world channel, and a real sense of accomplishment in getting this to work. �  Exported to HKUST, Stanford, Wisconsin

6.02 Outcomes �  A vertical study of communication across the stack ◦  Reliability ◦  Sharing

◦  (Scalability) à later courses like 6.033

�  Understanding of widely used algorithms ◦  E.g., Huffman decoding, Viterbi, Dijkstra, sliding window (TCP)

�  Design principles, analysis tools, and real-world experimentation w/ Audiocom

�  Great background for (or complement to) 6.003, 6.004, 6.011, 6.033, 16.36, …

(Reds currently take advantage of 6.02, but other subjects could too!)

0

10

20

30

40

50

60

70

80

2009

SP

2010

FA

2010

SP

2011

FA

2011

SP

2012

FA

2012

SP

2013

FA

2013

SP

2014

FA

6.S02 Intro to EECS II from a Medical Technology Perspective

6.S02 Curriculum Overview �  Prereqs: ◦  Some Programming

Experience �  Outcomes: ◦  Analog and Digital Signals ◦  Signals in the Time and

Frequency Domains ◦  Modeling ◦  Basic Programming in

MATLAB ◦  Make Students Aware that

EECS has many Applications in the Medical Sphere.

�  Topics ◦  Chemical Signals (Blood

Glucose) �  How to measure a physical signal

(noise) �  Examining signals in time and

frequency domains �  Filtering to improve a measured

signal ◦  Electrocardiography (ECG)

�  Physical Basis of Electrocardiography

�  ECG analysis in the time and frequency domains

�  Clustering and Classification ◦  Magnetic Resonance Imaging

�  Signal Model �  Image Encoding and

Reconstruction �  Clinical Inference

6.S02 Structure – a typical week

�  Weekly Assignments: ◦  Prelab (Graded by Checkoff with Staff at the Beginning of Lab) ◦  3-hour “Design” Lab (Graded by Staff) ◦  Weekly Problem Sets

�  Midterm, Final Exam

Monday Tuesday Wednesday Thursday Friday

Lab

Lab

Lab

Lab Lecture Lecture

Homework Homework Homework Office Hours

Highlights/Innovations �  Hands on Experience with Medical Devices

0 20 40 60 80

100 120 140 160 180

2009

SP

2010

FA

2010

SP

2011

FA

2011

SP

2012

FA

2012

SP

2013

FA

2013

SP

2014

FA

6.041Probabilistic Systems Analysis

Image Here!

!

6.041 Curriculum Overview �  Prereqs: ◦  Sets, sequences, limits ◦  Partial derivatives ◦  Double/multiple integrals

�  Topics ◦  Probabilistic models ◦  Sample space ◦  Probability ◦  Conditioning and Bayes' rule ◦  Independence ◦  Counting ◦  Random variables ◦  Probability mass and density

functions (PMFs, PDFs) ◦  Expectation and variance ◦  Joint PMFs/PDFs for multiple

random variables ◦  Important distributions

◦  Continuous Bayes' rule ◦  Derived distributions ◦  [Transform techniques] ◦  Covariance and correlation ◦  Iterated expectations ◦  Sum of a random number of random

variables ◦  Weak law of large numbers ◦  Central limit theorem ◦  Bayesian inference (posteriors, MAP,

least squares, linear least squares) ◦  Classical inference (confidence

intervals, linear regression, simple hypotheses testing, significance testing)

◦  Bernoulli process ◦  Poisson process ◦  Markov chains

6.041 Structure – a typical week

� Weekly Assignments (about 10% of grade) � Two midterms, Final Exam

� MW, 50-min lectures � TR, 50-min recitations � W, R, or F: 1-hour tutorial

Curriculum Innovation / Unique Aspects / Highlights

�  Also serves general grad. student population

�  Interactive problem-solving tutorials �  Interactive lectures (Babak, last two terms)

�  Solid intro to Bayesian inference �  (posteriors, MAP, least squares, linear least squares)

�  6.041x in S2014 ◦  Automatic grading experiment (one assignment, S2013)

6.041 Outcomes �  Working knowledge of all the major concepts of basic

probability �  Introduction to basic random processes (Poisson, Markov) �  Thorough introduction to Bayesian inference �  Translate “words” into models �  Back and forth between intuition and math �  Ready for real-world applications or research

0  

50  

100  

150  

200  

250  

300  

2009SP  

2010FA

 

2010SP  

2011FA

 

2011SP  

2012FA

 

2012SP  

2013FA

 

2013SP  

2014FA

 

Math for Computer Science 6.042J/18.062J

Fall13  260  students          8  TA’s      18  LA’s      16  Graders          2  UROPs  

Meyer   Leighton  

           proof-­‐intro.26  

Quick Topic Summary 1. Fundamental Concepts of

Discrete Mathematics (sets, relations, proof methods,… )

2. Discrete Mathematical Structures (numbers, graphs, counting,…)

3. Discrete Probability Theory

A “Flipped” Classroom •  Recorded lecture, online feedback

questions, assigned reading before class. •  Class sessions with teams of 6-8 students working through graduated problems supervised by LA/TA “coach” •  Team writesjoint solution on white board

for coach to assess •  Graded for participation

•  Don’t care who solves problems as long as everyone understands by end of class. •  Heterogeneous teams: men/women,

Freshman/Seniors, Arabs/Jews •  Written solutions understandable

by other teams

A “Flipped” Classroom

6.042 Weekly Organization •  Three 90 minute class sessions:

§ Online videos & feedback questions before §  Reading from text before §  “Preparation check” 5 min quiz at start §  3—4 Team Problems supervised by TA/LA

•  Problem set •  2 midterms •  Final exam

6.042 Prereqs • High School algebra • Single variable calculus • Limits • Differentiation • Integration • Series

6.042 Outcomes – Teamwork & communication – Mathematics literacy – Math modeling & problem solving – Elementary logic & proofs – Number theory – Graph theory – Combinatorics – Generating functions – Discrete probability

6.042 Topics •  Contradiction •  Proof by cases •  Well ordering principle •  Propositional logic •  Logical quantifiers •  Proof rules •  Satisfiability •  Set & functions •  Induction •  Invariants •  Program correctness •  Recursive data •  Structural induction •  Bijections & cardinality •  Uncountable sets •  Modular arithmetic

•  RSA  cryptosystem •  Partial orders •  Equivalence relations •  Walks, paths and cycles •  Matrix representation •  Graph isomorphism •  Bipartite matching •  Coloring & connectedness •  Trees •  Asymptotic notation •  Permutations & combinations •  Inclusion-exclusion •  Generating functions •  Probability •  Random variables •  Sampling & confidence