CS 2700: Assembly Language and Computer Architecture

Spring 2024 - Homework 1

Due February 12, 2024

This is an individual assignment. All work must be your own. You should not look at any other student's work (in whole or in part, on paper or on screen), nor allow anyone else to look at yours, during the course of this assignment. Nor may you submit the work of software programs as your own.

Turn in as hardcopy or upload to Canvas (MS Word or PDF or plain text only). Typed.

Unless specified otherwise, all questions are from "The Essentials of Computer Organization and Architecture, 5th Ed." by Null and Lobur.

  1. Chapter 1, Exercise #4. Add to the question description: "In your answer, provide the grader with a URL leading to a web page of the system you select and write a sentence or two about why that system would be your final choice."

  2. Chapter 1, Exercise #6. Two additions to the question:

    1. Pick your favorite COMPILED programming language. (Python is an interpreted language.)
    2. Add to the question description: "Comment on anything peculiar you notice."

    (Note: I don't expect you to manually examine machine language instructions, bit by bit. You can estimate the number of instructions by looking at the sizes of machine language files generated -- more bytes in the executable file means more machine language instructions.)

  3. Chapter 1, Exercise #14.

  4. Look up information about one of the "lesser luminaries" of early computing. Select someone who made contributions in the 1940's or 1950's (they may have contributed later, too, but you must select someone who was working in computing in at least one of those two decades). Do not select one of the "big names"; select a person who contributed, but never hit the heights of fame.

    Provide citation information for your sources of information. (URLs and names for web sites, book titles and authors for books, etc.) Wikipedia is an acceptable source for this question. You might also visit the web site of the Charles Babbage Institute or The Computer History Museum in San Jose.

    1. Write a paragraph or two summarizing what you could find out about that person's biography.
    2. Write a sentence about why what they did mattered to computing.
    3. Answer this question: If you had been born as that person, and were at the moment where they made the decision to join the project (which later became famous) or accept the job (where they would wind up working with the latterly famous person), knowing only what that person knew at the time, do you think you would have have joined the project or accepted the job? Why or why not?

    How to tell if the person you selected is "too famous" for this question:

    1. If they won a Turing Award or Nobel Prize they are too famous.
    2. If were founder and CEO of a company still operating today, they are too famous.
    3. If they are mentioned in our textbook, they are too famous. (Alan Turing, Konrad Zuse, Gordon Moore, Grace Hopper...)
    4. Feel free to ask the professor if you're not sure if the person you selected is too famous or not.
    5. (It is ok if the person you pick won awards, just not big, famous awards like the Turing Award.)

    Ideas for people to research, if you don't know where to start:

    1. Mauchly and Eckert, famously, built the ENIAC. What about the other people involved in the project? You could write about any one of Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas or Ruth Lichterman, the women who programmed the ENIAC from day to day, or one of the engineers responsible for designing an important component of the ENIAC.
    2. Other countries were also building early computers in the 1940s and 50s, machines not as famous in the USA. In Britain, some people built the "Manchester Mark 1". You could write about one of the people that built that machine.
    3. Fairchild Semiconductor was a company founded in the 1950's by the "traitorous eight". Two of those eight were Gordon Moore and Robert Noyce, both now too famous for this question. You could pick one of the other six to write about -- who were they and what happened to them?
    4. While working at Bletchley Park during WWII, Alan Turing worked with a number of other people while breaking the German Enigma codes -- you could select one of them.