i206: distributed computing applications & infrastructure

20
i206: Distributed Computing Applications & Infrastructure http://courses.ischool.berkeley.edu/i206/s13/ Spring 2013

Upload: others

Post on 16-Oct-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: i206: Distributed Computing Applications & Infrastructure

i206: Distributed Computing Applications & Infrastructure http://courses.ischool.berkeley.edu/i206/s13/ Spring 2013

Page 2: i206: Distributed Computing Applications & Infrastructure

Welcome to i206!

•  The Teaching Team: –  Tapan Parikh <parikh@ischool> –  Sarah van Wart <vanwars@ischool> –  Kay Ashaolu <kay@ischool>

•  Mailing list: –  <i206@ischool>

Page 3: i206: Distributed Computing Applications & Infrastructure

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

Page 4: i206: Distributed Computing Applications & Infrastructure

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

Page 5: i206: Distributed Computing Applications & Infrastructure

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

Page 6: i206: Distributed Computing Applications & Infrastructure

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

Page 7: i206: Distributed Computing Applications & Infrastructure

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

Page 8: i206: Distributed Computing Applications & Infrastructure

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.

Page 9: i206: Distributed Computing Applications & Infrastructure

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

Page 10: i206: Distributed Computing Applications & Infrastructure

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.

Page 11: i206: Distributed Computing Applications & Infrastructure

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

Page 12: i206: Distributed Computing Applications & Infrastructure

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

Page 13: i206: Distributed Computing Applications & Infrastructure

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

Page 14: i206: Distributed Computing Applications & Infrastructure

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

Page 15: i206: Distributed Computing Applications & Infrastructure

An i206 Tradition

–  xkcd.com/rss.xml

Page 16: i206: Distributed Computing Applications & Infrastructure

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

Page 17: i206: Distributed Computing Applications & Infrastructure

Coming up next … How Do Computers Work?

Page 18: i206: Distributed Computing Applications & Infrastructure

Let’s get to know one another…

Page 19: i206: Distributed Computing Applications & Infrastructure

How did you first get into computers?

Page 20: i206: Distributed Computing Applications & Infrastructure

What do you like / dislike about them?