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.


attendance spreadsheet

Name Section Office Phone Email Office hours
Seyedamirhossein Hesamian (Amir) 805 & 806 E280 414-736-2240 hesamian@uwm.edu Monday: 3:00 - 4:00 & Tuesday: 5:00 - 6:00

Weekly schedule

Filter Clear

Week # Theory topics Programming topics Lab assignment Discussion Notes
Week #1: 1/24/17 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
Week #2: 1/31/17 Reviewing MIPS components in-details Basic IF and LOOP statements Lab 2 Lecture 2
Supplementary 1
Supplementary 2
Week #3: 2/7/17 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
Week #4: 2/14/17 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 Lecture 4 (A)
Lecture 4 (B)
Lecture 4 (C)
Week #5: 2/21/17 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)
Week #6: 2/28/17 exam 1, discuss logical operations and theory homework #3 Debugging practice Lab 6 Homework
Week #7: 3/14/17 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
Week #8: 3/28/17 Floating point representation (FPS), addition & subtraction, recursive subprograms Working on Program #3 Lab 8 Lecture 8
Week #9: 4/4/17 Floating point multiplication - - Lecture 9
Week #10: 4/18/17 2 dimensional array and address calculation 2 dimensional array Lab 11 (A)
Lab 11 (B)
Lecture 10
W #11: 12/6/16 Hand assembly Data structure Lab 12 Lecture 12 (A)
Lecture 12 (B)
W #12: Review for final More complicated data structure Lab 13 Programming prep
Theory prep

Announcements (in chronological order)