CS 301: Assembly Language Programming
Fall 2021 - Aven Bross
Announcements
- Final exam link.
- HW10: Review questions for final (these are on the difficult end of what I would put on the final exam).
- No class Wednesday and Friday for Thanksgiving, have a great break! Sorry for not noting this on Monday, when I was at UAF we only had two days for Thanksgiving.
The schedule for next week is:
- Monday, Nov. 29: Course wrap up and review, maybe a little more CUDA
- Wednesday, Dec. 1: Project presentations
- Friday, Dec. 3: Finish presentations, final review
A sign up sheet for project presentations was shared earlier today. I will be available via email/zoom all day (and potentially on the weekend as well with enough notice) if anyone needs any help with their projects and/or presentations. I’m happy to help regardless of if you are almost done or if you’ve had trouble and feel that you are just starting. Hopefully we can get every project in a good position by the end of next week.
- The bug in the clone_example.c program written in class was caused by an issue with printf and how it’s buffer is handled when threads close. The example now uses the write system call and works as expected.
- Draft project slides due on Monday, Nov. 22.
- Google form for class topics in the final weeks.
- HW9 is available on NetRun, and due anytime Monday, November 15.
- Project proof of concept code is due on Monday, November 1, on Blackboard.
- HW8 (NOW WITH PROBLEM 4) is available on NetRun, and due anytime Friday, November 5.
Here is a more basic version of the optimization that needs to be made in Problem 4:
- Slow one thread for-loop version
- Fast many threaded version
- HW7 is now available on NetRun, and due anytime Monday, October 25.
- I have updated the grades for everyone's midterm to better reflect it's difficulty: I dropped an additional question, for a total of 3, and added a baseline. I also very well may add an additional curve to the exam when determining final grades. Thanks for bearing with me on my first time administering an exam for this type of course.
Second, with regards to homework: all homework grades should now correctly be displayed on Blackboard. If anyone has a low score on a past homework, I strongly encourage you to revisit the problems that you missed (and ask me questions if you need help). If you send me an email indicating that you have recently completed a prior homework, even well past due date, I am completely fine with updating your homework grade (as long this doesn't start happening for every homework).
- The link to the midterm is here.
- The midterm exam will be available via google form from 11:45am to 12:45pm on October 13. The link will be posted here, and will also be emailed out. The exam is open notes, open NetRun, and open internet resources. You are not allowed to communicate with anyone other than the instructor for the duration of the exam. You may come to class and complete the exam on a laptop, or you may complete the google form remotely. I will be in class and in Zoom chat as usual to answer questions.
- A set of practice questions for the midterm is available here. Please look over them and we can discuss the problems on Friday.
- HW6 is now available on NetRun, and due anytime Monday, October 11.
- HW5 is now available on NetRun, and due anytime Friday, October 1.
- I have published an outline of the course project with dates, info on how to complete each section, and topic suggestions.
- I created a class github repo with several new examples. It also contains a guide on how to quickly setup your own little x86 Linux VM to try out (not needed for homeworks yet, but could be very useful for projects later).
- From now on class will be offered simultaneously on Zoom. We will continue following UAF COVID-19 guidelines and hopefully this will make it an easy choice to stay home if you have any concerns over wellness, a close contact with a person with COVID-19, etc.
- HW4 is now available on NetRun, and due anytime Friday, September 24.
- HW3 is now available on NetRun, and due anytime Wednesday, September 15.
- HW2 is now available on NetRun, and due anytime Wednesday, September 8.
- HW1 is now available on NetRun, and due anytime Wednesday, September 1.
- HW0 is on NetRun, and due anytime Friday, August 27.
- CS 301: Homepage (Fall 2021)
- HW0 review of C++. Due anytime Friday, August 27.
Reference info
Cheat sheets: x86 cheat sheet, ARM cheat sheet
- 11/24: No class, Thanksgiving break!
- 11/17 - 11/23: Intro to networking
Examples:
Examples:
- 11/12: Finished up ARM
Examples:
- 11/10: More on ARM: strings, arrays, floating point, and SIMD
Examples:
Examples:
Examples:
Examples:
Examples:
Examples:
Examples:
Examples:
Slides: Pointers
Slides: Levels of Computing
- The course syllabus has grading info, my office hours, and other good stuff.
- Homework trouble?
- Check Dr. Lawlor’s x86-64 cheat sheet
- Just hitting "TraceASM" in NetRun will show you the operations as they happen instruction-by-instruction.
- I have office hours from 1:30-3:30pm every class day, or email dabross@alaska.edu anytime!
Location | Used for |
This Homepage | Definitive source for announcements, deadlines, and reference material |
NetRun | Homeworks and runnable lecture examples |
GitHub | Examples and a guide to set up a tiny x86_64 Linux VM |
Zoom room | Lectures will be broadcast here simultaneously each day |
ELIF 301 | Class meetings 11:45-12:45pm MWF |
DUCK 531 | Office hours 1:30-3:30pm MWF |
Blackboard | Turning in project deliverables |