2
$\begingroup$

I'm interested in developing a semester-long undergraduate computer science course on assembly programming. Other questions here have already given me some ideas of what sort of architecture to teach and what resources to consider using.

I'm still not clear on what specific topics should be presented, how much material to present on each, and what sort of assessments would be appropriate. Are there any existing undergraduate courses on assembly programming whose material has been published and that I could use as a guide? I've found a few syllabi, but having more detailed information (lecture notes/videos, assignments, exams, etc.) would be very helpful. I've tried searching for open courseware on sites like MIT OpenCourseWare but so far haven't turned up any courses specifically devoted to assembly programming – at best I get a few lectures in a course on compiler design or computer architecture.

$\endgroup$

1 Answer 1

1
$\begingroup$

Here is a link to a web page history for CS270 - Computer Organization taught at Colorado State University. The course covered three areas over a semester and was typically taken in the second year.

  1. C programming
  2. Assembly language programming in LC3
  3. Digital logic and circuits

The assembly language is a "toy" language to teach the idea of assembly and relate it to higher level languages. For example, implementing a simple string library modeled on C's string was one assignment. Several assignments were designed to introduce stack frames and recursion. Another assignment demonstrated buffer overflow corruping a return address. However, the assembler language portion was only a third of the course.

I would suggest looking at old version of the course (e.g. Spring20) as the "Progress" links for more recent terms seem to be broken. The "Progress" page will get you to links of assignments, lecture materials, etc.

If you are interested in anything you find on the web pages, please contact me.

https://www.cs.colostate.edu/~cs270/history.html

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.