CS 301 - Assembly Language Programming


  • Final exam and overall course grades are posted on NetRun's grade reporting area.  Have a good winter break!
  • Project 2 final drafts are due Friday, December 15 on Blackboard by midnight (log in first!).
  • The CS 301 final exam will be in class 10:15-12:15 on Friday, December 15.
  • Project 2 presentations are this week according to this schedule (sign up for a timeslot, first come first served!).
  • HW7 is a simple intro to ARM assembly and embedded programming.  It's due Wednesday, December 6 (by midnight).
    • As of Tuesday evening, the ARM is back up again.
  • Project 2 rough drafts are due Wednesday, November 29 on Blackboard (log in first!).
  • HW6 covers different aspects of CUDA GPU programming.  It's due Wednesday, November 15 (by midnight).  (NetRun's CUDA support is a bit cleaner now, so it should at least report CPU-side crashes!)
  • HW5 covers multicore and SIMD.  It's due Wednesday, November 8 (by midnight).
  • HW4 covers performance programming.  It's due Wednesday, November 1 (by midnight).
  • Project 1 final draft code is due by midnight Friday, October 20 on Blackboard (log in first!).
  • Project 1 presentations are this week: have 4 minutes of material ready.  Which day and which order you present is up to you, but it's nice to get it out of the way early!   Your presentation should clearly describe WHO you are, WHAT you did, HOW you did it, and WHY you chose to do it that way: and your design rationale is usually a lot more interesting than your code.  Bring a laptop to project your code, demo, slides, and/or figures, or email me your presentation materials the day before, if you'd like to present from my laptop.
  • Midterm exam grades and overall course grades are available on NetRun's grade reporting area.  The bitwise stuff on the back page was rough for many people, so I've posted some runnable examples on NetRun under "10_11_midterm" example code.
  • Project 1 rough draft comments are available on NetRun's grade reporting area for everybody that turned in a rough draft.  Project presentations are next week!
  • The Midterm exam is Wednesday, October 11 in class.  Coverage is everything we've talked about in the lectures, or covered in the lecture notes below; I try to make the exams more about concepts than the details we hit in homeworks.  You can get a feel for the type of questions by looking at last year's midterm or this older midterm (check your work with the answer key).  
  • Project 1 rough draft code is due Wednesday, October 4 on Blackboard (log in first!).
  • Project 1 deliverables start Monday, September 25 with an in-class project topic.
  • HW3 covers strings and array memory accesses.  It's due Friday, September 22 (by midnight).
  • HW2  covers function calls, push, and pop.  It's due Friday, September 15 (by midnight).
  • HW1  covers basic assembly language.  It's due Friday, September 8 (by midnight).
  • HW0 grades and brief comments are on NetRun's grade reporting area.
  • HW0 is on NetRun and covers basic C++.  It's due this Friday, September 1 (by midnight).
  • Homeworks for this class use my free web-based programming tool NetRun.  Use your canonical alaska.edu email address to make a NetRun account, then log in to NetRun, and CS 301 should be listed at the bottom of the screen under "CS 301: Homepage (Fall 2017)".
    • If you don't see it, I can fix it instantly if you email me.  I probably just didn't guess the right email for you!

Lecture Notes and Reference Info

Orion Lawlor

Orion Lawlor
  • Associate Professor, Computer Science
  • University of Illinois, Urbana-Champaign 2004 Ph.D.
  • Computer graphics; parallel programming; robotics; 3D printing.
  • Duckering 529
  • 907-474-7678
  • Office Hours:
    • By Appointment
  • lawlor@alaska.edu