



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An introduction to the CSE351 course offered in Winter 2021 at an unspecified university. The course covers the hardware/software interface and aims to teach students the key abstractions 'under the hood' of computers and programs. information on the course policies, teaching staff, and topics that will be covered. Students are encouraged to work together and will be expected to complete group work. The document also includes a list of fun topics that will be touched on throughout the course.
Typology: Lecture notes
1 / 27
This page cannot be seen from the preview
Don't miss anything!
CSE 351 Winter 2021 Instructor: Mark Wyse Teaching Assistants: Kyrie Dowling Catherine Guevara Ian Hsiao Jim Limprasert Armin Magness Allie Pfleger Cosmo Wang Ronald Widjaja http://xkcd.com/676/
1000001101111100001001000001110000000000 0111010000011000 10001011010001000010010000010100 10001011010001100010010100010100 100011010000010000000010 1000100111000010 110000011111101000011111 11110111011111000010010000011100 10001001010001000010010000011000 1000001101111100001001000001110000000000 0111010000011000 10001011010001000010010000010100 10001011010001100010010100010100 100011010000010000000010 1000100111000010 110000011111101000011111 11110111011111000010010000011100
programs
if (x != 0) y = (y+z)/x; cmpl $0, - 4(%ebp) je .L movl - 12(%ebp), %eax movl - 8(%ebp), %edx leal (%edx,%eax), %eax movl %eax, %edx sarl $31, %edx idivl - 4(%ebp) movl %eax, - 8(%ebp) .L2: 1000001101111100001001000001110000000000 0111010000011000 10001011010001000010010000010100 10001011010001100010010100010100 100011010000010000000010 1000100111000010 110000011111101000011111 11110111011111000010010000011100 10001001010001000010010000011000 Compiler Assembler
**car *** c = malloc(sizeof( car )); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100); c.setGals(17); float mpg = c.getMPG(); get_mpg: pushq %rbp movq %rsp, %rbp ... popq %rbp ret C: Java: Assembly language: Machine code: 0111010000011000 100011010000010000000010 1000100111000010 110000011111101000011111 Computer system: OS: Memory & data Integers & floats x86 assembly Procedures & stacks Executables Arrays & structs Memory & caches Processes Virtual memory Memory allocation Java vs. C What happens as your computer is executing one or more processes?
a) What is a GFLOP and why is it used in computer benchmarks? b) How and why does running many programs for a long time eat into your memory (RAM)? c) What is stack overflow and how does it happen? d) Why does your computer slow down when you run out of disk space? e) What was the flaw behind the original Internet worm, the Heartbleed bug, and the Cloudbleed bug? f) What is the meaning behind the different CPU specifications? (e.g. # of cores, # and size of cache, supported memory types)
discussion post
via chat (TAs will circulate through groups)
the most out of it if you actively participate!
classmates will help you synthesize concepts and terminology
(https://canvas.uw.edu/courses/1432121/groups#tab- 114464 )
▪ one attempt per question (completeness)
▪ unlimited submission attempts (autograded correctness)
▪ last submission graded (correctness)
▪ single submission (completeness)
▪ Cumulative learning assessments
▪ engagement in course and discussion, in-lesson polls