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!
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
Or
pick your own topic! As long as it's related to assembly
language, or low level computer architecture, it's OK!