Answers.Body: <p>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.</p>
  <ol>
  <li>C programming</li>
  <li>Assembly language programming in LC3</li>
  <li>Digital logic and circuits</li>
  </ol>
  <p>The assembly language is a &quot;toy&quot; 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.</p>
  <p>I would suggest looking at old version of the course (e.g. Spring20) as the &quot;Progress&quot; links for more recent terms seem to be broken. The &quot;Progress&quot; page will get you to links of assignments, lecture materials, etc.</p>
  <p>If you are interested in anything you find on the web pages, please contact me.</p>
  <p><a href="https://www.cs.colostate.edu/%7Ecs270/history.html" rel="nofollow noreferrer">https://www.cs.colostate.edu/~cs270/history.html</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-04-16T17:01:05.763Z
Answers.LastActivityDate: 2024-04-16T17:47:29.763Z
Answers.LastEditDate: 2024-04-16T17:47:29.763Z
Answers.UserDisplayName: Fritz Sieker
Body: <p>I'm interested in developing a semester-long undergraduate computer science course on assembly programming.  <a href="https://cseducators.stackexchange.com/questions/tagged/assembly?tab=Votes">Other questions here </a> have already given me some ideas of what sort of architecture to teach and what resources to consider using.</p>
  <p>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 <a href="https://ocw.mit.edu/" rel="nofollow noreferrer">MIT OpenCourseWare</a> 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.</p>
  
Tags: <resource-request><undergraduate><assembly><course-design>
Title: Resources/material for developing a course on assembly programming
ThreadText: # Resources/material for developing a course on assembly programming
  
  (Asked by: username_0 on 2024-04-10)
  
  I'm interested in developing a semester-long undergraduate computer science course on assembly programming. [Other questions here](https://cseducators.stackexchange.com/questions/tagged/assembly?tab=Votes)  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](https://ocw.mit.edu/) 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.
  
  **Tags:** resource-request, undergraduate, assembly, course-design
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-04-16. Score: 2
  
  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](https://www.cs.colostate.edu/%7Ecs270/history.html)
  
  
  ---
  
  