Class Project 1

CS 301: Assembly Language Programming Assignment, Dr. Lawlor

At this point in the class, you hopefully know enough assembly language to actually use it to solve problems, so I'd like you to use it to solve a problem you're interested in.

From the syllabus, each of the two course projects is 15% of your course grade, so it should have some pretty good stuff.  Conversely, the total end-to-end time for the project is only a few weeks, so keep it manageable!

Project Deliverables

September 2017
Su Mo Tu We Th Fr Sa
17 18 19 20 21 22 23
24 25 26 27 28 29 30 <- project topic due in class

October 2017
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 <- project rough draft code due
8 9 10 11 12 13 14 <- midterm exam
15 16 17 18 19 20 21 <- project presentations & final draft due
22 23 24 25 26 27 28
29 30 31

On September 25, I'd like you to describe in class your project topic (see topic list below).  We do these out loud so everybody can hear each other's ideas, making it easier to form group projects if you'd like to do so.

On October 4 I'd like your rough draft code, which should work and do most of what you want, but not necessarily do everything you want to do, or be fully polished or tuned. 

The presentation is a very short, 4-minute presentation in class on October 16 & 18.   Your presentation should clearly describe WHO you are, WHAT you did, HOW you did it, and WHY you chose to do it that way.  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.

The final code should be fully debugged, polished, tuned, commented, and include at least a short README explaining what it is, and what its results mean.  You'll be graded on a combination of ambition, correctness, completeness, and comments/style.  Style and clean code count!  Due Friday, October 20.

Typical grade breakdown: project grade = 25% rough draft + 25% presentation + 50% final code

Example Project Topics

Or pick your own topic!  As long as it's related to assembly language, or low level computer architecture, it's OK!