Conservation Biology BISC 309 Lecture 5 Conservation Genetics wrap-up Course assessment - details.
Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late...
Transcript of Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late...
![Page 1: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/1.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Course Wrap-UpCSE 333 Winter 2019
Instructor: Hal Perkins
Teaching Assistants:Alexey Beall Renshu Gu Harshita Neti
David Porter Forrest Timour Soumya Vasisht
Yifan Xu Sujie Zhou
![Page 2: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/2.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Administriviav hw4 due last night
§ (late days – max 2 – expire Saturday; if you have them)
v Please finish course evals while they are still available
v Final exam Wed. 3/20, 2:30-4:20§ Review Q&A Tue. 3/19, 4:30, ECE 125
§ Topic list and old finals on Exams page
• Summer final exams are 1 hour; regular quarters are usual 2 hours
2
![Page 3: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/3.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
So what have we been doingfor the last 10 weeks?
?3
![Page 4: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/4.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Course Goalsv Explore the gap between:
4
The computer is a magic machine that runs programs!
Intro 351
The computer is a stupid machine that executes really, really simple
instructions (really, really fast).
![Page 5: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/5.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Course Map: 100,000 foot view
5
C application
C standard library (glibc)
C++ STL/boost/ standard library
C++ application Java application
JRE
CPU memory storage networkGPU clock audio radio peripherals
HW/SW interface(x86 + devices)
OS / app interface(system calls)
operating system
hardware
![Page 6: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/6.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Systems Programmingv The programming skills, engineering discipline, and
knowledge you need to build a system
§ Programming: C / C++
§ Discipline: design, testing, debugging, performance analysis
§ Knowledge: long list of interesting topics• Concurrency, OS interfaces and semantics, techniques for consistent
data management, distributed systems algorithms, …• Most important: a deep understanding of the “layer below”
6
![Page 7: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/7.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Main Topicsv C
§ Low-level programming language
v C++
§ The 800-lb gorilla of programming languages
§ “better C” + classes + STL + smart pointers + …
v Memory management
v System interfaces and services
v Networking basics – TCP/IP, sockets, …
v Concurrency basics – POSIX threads, synchronization
7
![Page 8: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/8.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
The C/C++ Ecosystemv System layers:
§ C/C++
§ Libraries
§ Operating system
v Building Programs:
§ Pre-processor (cpp, #include, #ifndef, …)
§ Compiler: source code → object file (.o)
§ Linker: object files + libraries → executable
v Build tools:
§ make and related tools
§ Dependency graphs
8
![Page 9: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/9.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Program Executionv What’s in a process?
§ Address space§ Current state
• SP, PC, register values, etc.
§ Thread(s) of execution§ Environment
• Arguments, open files, etc.
0xFF…FF
0x00…00
OS kernel [protected]
Stack
HeapRead/Write Segment
.data, .bss
Shared Libraries
Read-Only Segment.text, .rodata
9
![Page 10: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/10.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Structure of C Programsv Standard types and operators
§ Primitives, extended types, structs, arrays, typedef, etc.
v Functions§ Defining, invoking, execution model
v Standard libraries and data structures§ Strings, streams, etc.§ C standard library and system calls, how they are related
v Modularization§ Declaration vs. definition§ Header files and implementations§ Internal vs. external linkage
v Handling errors without exception handling§ errno and return codes
10
![Page 11: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/11.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
C++ (and C++11)v A “better C”
§ More type safety, stream objects, memory management, etc.
v References and const
v Classes and objects!§ So much (too much?) control: constructor, copy constructor,
assignment, destructor, operator overloading
§ Inheritance and subclassing• Dynamic vs. static dispatch, virtual functions, vtables and vptrs
• Pure virtual functions and abstract classes
• Subobjects and slicing on assignment
v Copy semantics vs. move semantics
11
![Page 12: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/12.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
C++ (and C++11)v C++ Casting
§ What are they and why do we distinguish between them?
§ Implicit conversion/construction and explicit
v Templates – parameterized classes and functions
§ Similarities and differences from Java generics
§ Template implementations via expansion
v STL – containers, iterators, and algorithms
§ vector, list, map, set, etc.
§ Copying and types
v Smart Pointers
§ unique_ptr, shared_ptr, weak_ptr§ Reference counting and resource management
12
![Page 13: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/13.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Memoryv Object scope and lifetime
§ Static, automatic, and dynamic allocation / lifetime
v Pointers and associated operators (&, *, ->, [])§ Can be used to link data or fake “call-by-reference”
v Dynamic memory allocation§ malloc/free (C), new/delete (C++)
§ Who is responsible? Who owns the data? What happens when (not if) you mess this up? (dangling pointers, memory leaks, …)
v Tools§ Debuggers (gdb), monitors (valgrind)
§ Most important tool: thinking!
13
![Page 14: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/14.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Networkingv Conceptual abstraction layers
§ Physical, data link, network, transport, session, presentation, application
§ Layered protocol model
• We focused on IP (network), TCP (transport), and HTTP (application)
v Network addressing§ MAC addresses, IP addresses (IPv4/IPv6), DNS (name servers)
v Routing§ Layered packet payloads, security, and reliability
14
![Page 15: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/15.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Network ProgrammingClient side
1) Get remote host IP address/port
2) Create socket
3) Connect socket to remote host
4) Read and write data
5) Close socket
Server side1) Get local host IP
address/port
2) Create socket
3) Bind socket to local host
4) Listen on socket
5) Accept connection from client
6) Read and write data
7) Close socket
15
![Page 16: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/16.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Concurrencyv Why or why not?
§ Better throughput, resource utilization (CPU, I/O controllers)§ Tricky to get right – harder to code and debug
v Threads – “lightweight”§ Address space sharing; separate stacks for each thread§ Standard C/C++ library: pthreads
v Processes – “heavyweight” § Isolated address spaces§ Forking functionality provided by OS
v Synchronization§ Data races, locks/mutexes, how much to lock…
16
![Page 17: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/17.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Processes vs Threads on One SlideOS kernel [protected]
Stack
Heap (malloc/free)
Read/Write Segment.data, .bss
Shared Libraries
Read-Only Segment.text, .rodata
SP
PC
OS kernel [protected]
Stack
Heap (malloc/free)
Read/Write Segment.data, .bss
Shared Libraries
Read-Only Segment.text, .rodata
SP
PC
fork()PARENT CHILD
OS kernel [protected]
Stackparent
Heap (malloc/free)
Read/Write Segment.data, .bss
Shared Libraries
Read-Only Segment.text, .rodata
SPparent
PCparent
StackchildSPchild
PCchild
17
![Page 18: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/18.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Phew! That’s it!v But that’s a lot!!v Studying for the exam: (your mileage may vary)
§ Review first, make notes• Review lecture slides, exercises, sections, end-of-lecture problems• Look at topic list on website to check your coverage and help organize• Brainstorm and trade ideas with other students
§ “Simulate” an old exam• Do it in one timed sitting• Working problems is far more important than reading old answers!
§ “Grade” yourself, then go back and review problems• If still unsure why, ask the staff or your fellow students• Rinse and repeat!
18
![Page 19: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/19.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Courses: What’s Next?v CSE401: Compilers (pre-reqs: 332, 351)
§ Finally understand why a compiler does what it does
v CSE451: Operating Systems (pre-reqs: 332, 333)§ How do you manage all of the computer’s resources?
v CSE452: Distributed Systems (pre-reqs: 332, 333)§ How do you get large collections of computers to collaborate (correctly!)?
v CSE461: Networks (pre-reqs: 332, 333)§ The networking nitty-gritty: encoding, transmission, routing, security
v CSE455: Computer Visionv CSE457: Computer Graphics
19
![Page 20: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/20.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
This doesn’t happen without lots of help…v Thanks to a great staff – it can’t work without them!!
Alexey Beall Renshu Gu Harshita Neti
David Porter Forrest Timour Soumya Vasisht
Yifan Xu Sujie Zhou
v And thanks to the folks who put the course together:§ Steve Gribble, John Zahorjan, me, Justin Hsia
20
![Page 21: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/21.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
Congratulations! Good luck on the exam!
You’ve learned a lot – go out and build great things!
Come by and say hello in the future – I’d love to know what
you’ve been up to after 333!
See you on Wednesday!
23
![Page 22: Course Wrap-Up · L28: Course Wrap-Up CSE333, Winter 2019 Administrivia vhw4 due last night §(late days –max 2 –expire Saturday; if you have them) vPlease finish course evalswhile](https://reader034.fdocuments.us/reader034/viewer/2022051511/601954b965a31022264c32c8/html5/thumbnails/22.jpg)
CSE333, Winter 2019L28: Course Wrap-Up
24