Name  Section  Office  Phone  Office hours  

Seyedamirhossein Hesamian (Amir)  804 & 805  E280    hesamian@uwm.edu  Monday & Wednesday: 12:00  1:00 
Week #  Theory topics  Programming topics  Lab assignment  Discussion Notes 

W #1: 9/6/16  Review syllabus  Introduction to assembly, MIPS, QtSpim, debug code and Hello World program.  Lab 1 
Lecture 1
Slide: syntax (2B) Slide: controlflow (2C) List of programs 
W #2: 9/13/16  Reviewing MIPS components indetails  Basic IF and LOOP statements  Lab 2 
Lecture 2
Supplementary 1 Supplementary 2 
W #3: 9/20/16  Signed number system (sign magnitude, 1's complement, 2's complement) & addition of signed binary  Simple arithmetic, multiplication, division and LOOPs  Lab 3 
Lecture 3
Signed Binary 
W #4: 9/27/16  Subprograms, passing arguments IN and OUT using registers (WITHOUT using stack), use of static variable, static array and use of [subprogram_template.s] that is on D2L  Subprograms + static array in practice and following convention 
Lab 4 (A)
Lab 4 (B) 
Lecture 4 (A)
Lecture 4 (B) Lecture 4 (C) 
W #5: 10/4/16  Dynamic arrays, 2's complement multiplication and overview common issues (or mistakes) from Program #1  Dynamic arrays and subprogram in practice  Lab 5 
Lecture 5 (A)
Lecture 5 (B) Lecture 5 (C) Lecture 5 (D) 
W #6: 10/11/16  Review for exam 1, discuss logical operations and theory homework #3  Debugging practice  Lab 6  Homework 
W #: 10/18/16 




W #7: 10/25/16  Passing arguments IN & OUT using stack. Showcase the possibilities of stack, subprogram call another subprogram or even recursion  Stack in practice (IMPORTANT LAB ASSIGNMENT / CONCEPT)  Lab 7  Lecture 7 
W #8: 11/1/16  Recursive subprograms  Working on Program #3  Lab 8 
factorials.s
fibonacci SF 
W #9: 11/8/16  Floating point representation (FPS), addition & subtraction    Lab 9 
Lecture 9
Lab Exercises 
W #9: 11/8/16  Floating point multiplication     
Lecture 10 (A)
Lecture 10 (B) 
W #10: 11/15/16  Floating point in assembly theory  Floating point in assembly programming  Lab 10   
W #11: 11/22/16  2 dimensional array and address calculation  Floating point in assembly programming 
Lab 11 (A) Lab 11 (B) 
Lecture 11 
W #12: 12/6/16  Hand assembly  Data structure  Lab 12 
Lecture 12 (A) Lecture 12 (B) Homework 
W #13: 12/13/16  Review for final  More complicated data structure  Lab 13 
Programming prep Theory prep 