Computer Science 315

Computer Organization and Assembly Language Programming

This is NOT official class website. Official class website is D2L. This personal website is just for extra notes, sample solution to theory homeworks and more for myself so I can organize my work.


Name Section Office Phone Email Office hours
Seyedamirhossein Hesamian (Amir) 804 & 805 E280 - hesamian@uwm.edu Monday & Wednesday: 12:00 - 1:00

Weekly schedule

Filter Clear

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: control-flow (2C)
List of programs
W #2: 9/13/16 Reviewing MIPS components in-details 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

Announcements (in chronological order)