i206: Distributed Computing Applications & Infrastructure Fall 2010
John Chuang2 Welcome to 206! The teaching team: -John Chuang -Marco Cozzi -Emily Wagner To reach all three of us: -
John Chuang3 What is 206? Technological foundations for computing and communications: computer architecture, operating system, networking, middleware, security. Programming paradigms: object-oriented design, design and analysis of algorithms, data structures, formal languages. Distributed system architectures and models, inter-process communications, concurrency, system performance.
John Chuang4 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 Truth table Venn Diagram DeMorgan’s Law Numbers, text, audio, video, image, … Decimal, Hexadecimal, Binary AND, OR, NOT, XOR, NAND, NOR, etc. Register, Cache Main Memory, Secondary Storage Context switch Process vs. Thread Locks and deadlocks Op-code, operands Instruction set arch Lossless v. lossy Info entropy & Huffman code Adders, decoders, Memory latches, ALUs, etc. Data Representation Data storage Principles ALUs, Registers, Program Counter, Instruction Register Network Distributed Systems Security Cryptography Standards & Protocols Inter-process Communication Searching, sorting, Encryption, etc. Stacks, queues, maps, trees, graphs, … Big-O UML, CRC TCP/IP, RSA, … Confidentiality Integrity Authentication … C/S, P2P Caching sockets Formal models Finite automata regex
John Chuang5 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 Truth table Venn Diagram DeMorgan’s Law Numbers, text, audio, video, image, … Decimal, Hexadecimal, Binary AND, OR, NOT, XOR, NAND, NOR, etc. Register, Cache Main Memory, Secondary Storage Context switch Process vs. Thread Locks and deadlocks Op-code, operands Instruction set arch Lossless v. lossy Info entropy & Huffman code Adders, decoders, Memory latches, ALUs, etc. Data Representation Data storage Principles ALUs, Registers, Program Counter, Instruction Register Network Distributed Systems Security Cryptography Standards & Protocols Inter-process Communication Searching, sorting, Encryption, etc. Stacks, queues, maps, trees, graphs, … Big-O UML, CRC TCP/IP, RSA, … Confidentiality Integrity Authentication … C/S, P2P Caching sockets Formal models Finite automata regex Scope of typical EECS course
John Chuang6 Typical CS Topics Not Covered in 206 Database, data management, info retrieval, … Artificial intelligence: data mining, NLP, robotics, computer vision, … Computer graphics HCI Languages and Compilers Theory
John Chuang7 Why 206? Technologies change, but first principles don’t -Starting from 1st principles, understand technical underpinnings, design tradeoffs, metrics for performance evaluation Jargon -be effective and confident communicator with both developers and customers/users using precise technical terminology Hands-on: opening the black-box -This is not a programming course; not training you to become a programmer -Rather, use programming as vehicle for learning concepts, tools, and software development process and methods -become more patient with, rather than be intimidated by, programmers
John Chuang8
John Chuang9 Learning Opportunities Lectures, Assignments, Tests Labs -Reviews; best practices; practical tools & libraries; Q&A -Planned with a view beyond 206 Office Hours Discussions: in-class and online We will all learn from one another! There are no ‘stupid questions’ in this course Yes, it is a 4-unit course.
John Chuang10 Administrivia Grading Criteria -Assignments 60% (~8 assignments) -Tests 30% (three tests) -Class participation 10% Refer to website for important policies: -Academic integrity -Grading policy (including early/late submissions) -Instructors availability -Classroom technology etiquette
John Chuang11 Life after 206 MIMS Technology Requirement Computer architecture Software: -Software design -Algorithms -Data structures Communications: -Distributed systems -Networking -Security 206 (4 units) electives 219. Security 240. Information Retrieval 243. Document Engineering 250. Networks 257. Database Selected 290 and 296A courses* Selected EECS courses 219. Security 240. Information Retrieval 243. Document Engineering 250. Networks 257. Database 290 and 296A courses EECS courses 2nd course * See Masters Handbook for Complete and Updated List If you place out of 206, you still need to satisfy the technology requirement by taking 2nd course from list
John Chuang12 Source: John Sargent, US Department of Commerce Life after MIMS
John Chuang13 Career Advice #1 Join the ACM (Association of Computing Machinery) and one or more SIGs (e.g., SIGCHI, SIGCOMM, SIGecom) Read the monthly CACM Attend ACM conferences
John Chuang14 More Sign-Ups Course mailing list: - Also: - -xkcd.com/rss.xml
John Chuang15 About Me Full Professor at School of Information; affiliate appointment in EECS B.S. and M.S. in electrical engineering from USC and Stanford Micro-processor design at Silicon Graphics Ph.D. in engineering and public policy from CMU Research in economics-informed design of networked systems: -100x100: clean-slate design of internet architecture -p2pecon: incentive-centered design of peer-to-peer systems -economics of information security and privacy -ICTD: information, communication technologies and development Hobby: boxbabble -- ingredient-based search app
John Chuang16 Reading Assignment Read: Brookshear Chapter 0, Norvig, Teach Yourself Programming in Ten Years Optional: Brookshear Python tune-up: -Go back and complete your place-in exam; clear up any doubts before first programming assignment -Ask for help from instructors -Free drop-in tutor service available throughout the semester in Soda/Cory Hall (M-F) -