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 2016
Su Mo Tu We Th Fr Sa
25 26 27 28 29 30 <- project topic due in class

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

On September 28, 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 5 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 14 & 17.   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 Wednesday, October 26.  (This is scheduled after the presentation, so you can follow any suggestions or ideas you get during the presentation.)

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!