i206: Distributed Computing Applications & Infrastructure http://courses.ischool.berkeley.edu/i206/s13/ Spring 2013
Welcome to i206!
• The Teaching Team: – Tapan Parikh <parikh@ischool> – Sarah van Wart <vanwars@ischool> – Kay Ashaolu <kay@ischool>
• Mailing list: – <i206@ischool>
Course Objectives
• Learn key computer science concepts. – Peer inside the “black box”. – Be able to communicate with engineers.
• Computer Architecture • Algorithms and Data Structures • Networking, Operating Systems,
Security
206 Concept Map
Bits & Bytes Binary Numbers
Number Systems
Gates
Boolean Logic
Circuits
CPU Machine Instructions
Assembly Instructions
Program Algorithms
Application
Memory
Data compression
Compiler/ Interpreter
Operating System
Data Structures
Analysis
I/O
Memory hierarchy
Design
Methodologies/ Tools
Process
Data Representation
Data
Data storage
Principles
Network
Distributed Systems Security
Cryptography
Standards & Protocols
Inter-process Communication
Formal models
206 Concept Map
Bits & Bytes Binary Numbers
Number Systems
Gates
Boolean Logic
Circuits
CPU Machine Instructions
Assembly Instructions
Program Algorithms
Application
Memory
Data compression
Compiler/ Interpreter
Operating System
Data Structures
Analysis
I/O
Memory hierarchy
Design
Methodologies/ Tools
Process
Data Representation
Data
Data storage
Principles
Network
Distributed Systems Security
Cryptography
Standards & Protocols
Inter-process Communication
Formal models
Scope of typical EECS course
Why 206?
• Technologies change, but first principles don’t – understand technical underpinnings, design tradeoffs,
metrics for evaluation
• Jargon file – using precise technical terminology
• Opening the black-box – not a programming course – uses programming for learning concepts, tools, and
software development process – for communicating effectively with programmers and
engineers
CS Fields not Covered
• Databases, data management, Information Retrieval (IR), …
• Artificial intelligence: data mining, NLP, robotics, computer vision, …
• Computer graphics • Human-Computer Interaction (HCI) • Programming Languages and Compilers • Theory
Learning Opportunities
• Lectures – Do readings in advance – Discussion encouraged in lecture
• Readings – Brookshear, Computer Science: An Overview – Other readings as needed
• Labs – Lead by the TAs – Practice concepts from lecture and/or programming exercises – Get your questions answered
• Homework – Deepen your understanding of the ideas covered in class.
Flipped Classroom
• We will all learn from one another!
• Use class time to answer questions, and to go through examples
• Use the mailing list for asking and answering questions online
• There are no ‘stupid questions’ in this course
Weekly Schedule • Weekly reading and homework
• Tuesday: Reading due. Go over any questions.
• Thursday: Homework due. Go through examples in class.
• Please do the reading! We may not get to all the lectures in class.
Administrivia
• Grading Criteria – Homework ~40 points
• Must be turned in on time (or points reduced) – Quizzes/Exams ~20 points – Final Exam ~20 points – Class participation ~20 points
• Refer to website for important policies: – Academic integrity – Grading policy (including early/late submissions) – Instructors’ availability – Classroom technology etiquette
Life after 206 MIMS Technology Requirement
• Computer architecture
• Software: – Software design – Algorithms – Data structures
• Communications: – Distributed
systems – Networking – Security
206 (4 units)
2nd Course electives
• 290TA. Information Organization Lab • 219. Privacy, Security, and Cryptography • 240. Principles of Information Retrieval • 242. XML Foundations • 250. Computer-Based Communications
Systems and Networks • 256. Applied Natural Language Processing • 257. Database Management • 290. Web Architecture • 290. Mixing and Remixing Information • 290. Social Computing • 290A. XML and Databases • Selected EECS courses • Additional courses (of at least 2 units), on
approval by the faculty
See Masters Student Manual for updates
Annual Degrees and Job Openings in Broad S&E Fields
-
20,000
40,000
60,000
80,000
100,000
120,000
140,000
160,000
Engineering Physical Sciences Mathematical/Computer Sciences
Biological/Agricultural Sciences
PhD
Master's
Bachelor's
Projected Job Openings
SOURCES: Tabulated by National Science Foundation/Division of Science Resources Statistics; degree data from Department of Education/National Center for Education Statistics: Integrated Postsecondary Education Data System Completions Survey; and NSF/S RS: Survey of Earned Doctorates; Projected Annual Average Job Openings derived from Department of Commerce (Office of Technology Policy) analysis of Bureau of Labor Statistics 2002-2012 projections
Source: John Sargent, US Department of Commerce
Life after MIMS
CS Career Advice
• Join the ACM (Association of Computing Machinery)
• and one or more SIGs (e.g., SIGCHI, SIGCOMM, SIGecom)
• Read the monthly CACM
• Attend ACM conferences
An i206 Tradition
– xkcd.com/rss.xml
Reading and HW
• For schedule, please see course website: – http://blogs.ischool.berkeley.edu/i206s13/schedule/
• For Thursday: – Brookshear 0.1, 0.3, 0.4, 1.4, 1.5 (Optional 1.8, 1.9) – HW posted online
• For next week: – Brookshear 1.1, 2.1 – 2.4 – HW posted online soon
Coming up next … How Do Computers Work?
Let’s get to know one another…
How did you first get into computers?
What do you like / dislike about them?