Skip to content

alexebaker/unm_cs341

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS341 - Spring 2016

Introduction to Computer Architecture and Organization

INSTRUCTOR INFORMATION

Instructor: Andree Jacobson

Email:andree@unm.edu
Office: FEC127
Office hours: T+Th 11am - 12.30pm

Teaching assistant: Steven Garcia

Email: ssg2011@unm.edu
Office: ECE212
Office hours: Mon 2pm - 4pm, Fri 2pm - 3pm

Class Meeting Times

Lecture: T/Th 9.30am - 10.45am @ CENT-1032
Lab: Fri 1.00pm - 1.50pm @ CENT-B146A

COURSE INFORMATION

Overview

This course is intended to teach you how software programs that you write turn into machine level instructions that execute out physical computer hardware. In selecting the list of topics for this course, I asked "Might understanding this topic help to improve a student's programming capabilities?"

Goal: To develop an understanding of the software and hardware components and their interactions that lead to improved programming from both correctness and performance perspectives.

With this goal in mind, the tentative set of topics we will cover are:

  • Data Representation and Manipulation
  • Machine Programming
  • Exceptions
  • Storage and Caching
  • Linking
  • Memory Management (Application's perspective)
  • Code Optimization
  • Concurrency

Prerequisites: CS241 and ECE238, or equivalent. Knowledge of C/C++ programming in the UNIX environment, basic computer data structures (arrays, structures, and linked data structures), integer data representation, binary data operations (bitwise AND, OR, NOT, and two's complement arithmetic), and basic math.

Required Text: Computer Systems: A Programmer's Perspective, 3rd Edition (CS:APP2e), by Randal E. Bryant and David R. O'Halloran, 2010, ISBN 0136108040.

Grading: Grading will be based on participation (10%), a set of programming assignments (35%), homeworks (20%), a midterm exam (15%) and a final exam (20%).

Class Policies

Special Accomodations: The University of New Mexico is committed to providing equal access to educational and employment opportunities for qualified individuals with disabilities. The University shall make reasonable accommodation to the known physical or mental limitations of a qualified individual with a disability, unless the University can show that providing an accommodation would impose an undue hardship. While I cannot anticipate each student's needs, my goal to ensure that each student has the acocomodations necessary to enjoy a comfortable and supportive environment. If you require special accomodations, please notify me as soon as possible, so that the University and I can meet your needs in an timely and effective manner.

Working on Assignments: Unless otherwise noted, all homeworks, assignments, programming projects, quizzes and exams must be done individually. For assignments where collaboration is allowed, I will make this explicit on a per assignment basis.

Late Work: To be determined (in general no).

Class Attendance: There will be a sign‐in sheet at the start of each class and lab period. This class covers a large amount of sometimes complex subject matter; the lectures serve to facilitate your learning of this material. While I will track class attendance, you attendance is not required. That said, you are responsible for all lectured material. Unless an absence is excused, I will not use office hours to go over lectured material for someone who did not come to class. Religious observances and personal emergencies are valid reasons for missing class. For an absence to be excused you must notify my explicitly of the reason before the relevant class period if at all possible, but (except for extreme circumstances that make timely notification impossible) no later than three days of the absence.

Academic Dishonesty: The University's policy on academic dishonesty is clear, and any suspicion of cheating will be taken thoroughly investigated ‐‐ penalties for cheating include receiving an F for the course and other possible University action. Do not cheat! When in doubt, consult the instructor.

LECTURES

Tue - Jan 19: Introduction

Thu - Jan 21: No class

Tue - Jan 26: Debugging, Makefiles, and Catchup.

Thu - Jan 28: Integer Representation

Tue - Feb 2: Integer Representation

Thu - Feb 4: Floating Point Representation

Tue - Feb 9: Instruction Set Architectures, Machine code intro.

Thu - Feb 11: Machine Programming, Intro.

Tue - Feb 16: Machine Programming, Cont.

About

UNM CS 341 course materials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published