Bryn Mawr College
CMSC 240 Principles of Computer organization
Spring 2021
Course Materials
Prof. Deepak Kumar

General Information

Deepak Kumar
202 Park Science Building
dkumar at brynmawr dot edu

Lecture Hours: Tuesdays & Fridays from 9:40a to 11:00a (Zoom Link, Meeting ID: 969 7988 1593)
Office Hours: Tuesdays from 11:10 to 12:30p via Zoom. Meeting ID: 958 1710 6774 (ask me for password)
Lecture Room: This is a remote-only, synchronous lectures class.
Lab: All Labs will be remote.

Note: Lab Hours are being held as Office Hours (at least until we have labs)


Texts & Software

Main Text (Required): Introduction to Computing Systems: From Bits & Bytes to C/C++ and Beyond. Third Edition. McGraw Hill, 2019. Available in several formats (hardcover, paperback, lose leaf, etext, etc.).
The list price of this book is VERY STEEP (!!). However, the electronic versions are affordable, and recommended. The college bookstore has also made arrangements with the publisher and negotiated their price. Please do comparison shopping before you buy. You definitely do not need a physical copy. Also, the older 2nd edition will not work.

Software: We will use the LC3 Simulator that can be installed on Windows, MacOS, and Linux platforms. This software is packaged with the text and can be downloaded for free from this site (find the link to Releases where the installers/binaries are available. Get the proper one for your system. The software is also installed on all CS Lab machines on campus.


Course Description: This course introduces the hierarchical design of modern digital computers. Combinatorial and sequential logic elements; construction of microprocessors; instruction sets; assembly language programming. Lectures cover the theoretical aspects of machine architecture. In the laboratory, designs discussed in lecture are constructed in software. Prerequisite: CMSC B206 or H106 and CMSC B231


  1. Instruction Set Architecture (ISA)
  2. Bits, Data Types, and Operations
  3. The von Neumann Model
  4. The LC-3 ISA
  5. Programming in assembly language using the LC-3 ISA
  6. Subroutines and the stack.
  7. I/O Operations: Service routines, Traps and Interrupts.

Important Dates

February 12: First Class Meeting
March 12: Exam 1
April 13: Exam 2
May 11: Exam 3

Creating a Welcoming Environment

All members of the Instruction Staff are dedicated to the cause of improving diversity, equity, and inclusion in the field of computing, and to supporting the wellness and mental health of our students.

Diversity and Inclusion

It is essential that all members of the course community – the instructor, TAs, and students – work together to create a supportive, inclusive environment that welcomes all students, regardless of their race, ethnicity, gender identity, sexuality, or socioeconomic status. All participants in this course deserve to and should expect to be treated with respect by other members of the community.

Class meetings, lab sessions, office hours, and group working time should be spaces where everyone feels welcome and included. In order to foster a welcoming environment, students of this course are expected to: exercise consideration and respect in their speech and actions; attempt collaboration and consideration, including listening to opposing perspectives and authentically and respectfully raising concerns, before conflict; refrain from demeaning, discriminatory, or harassing behavior and speech.


Additionally, your mental health and wellness are of utmost importance to the course Instruction Staff, if not the College as a whole. All members of the instruction staff will be happy to chat or just to listen if you need someone to talk to, even if it’s not specifically about this course.

If you or someone you know is in distress and urgently needs to speak with someone, please do not hesitate to contact BMC Counseling Serices: 610-526-7360 (610-526-7778 nights and weekends). If you are uncomfortable reaching out to Counseling Services, any member of the Instruction Staff will be happy to contact them on your behalf.

We understand that student life can be extremely difficult, both mentally and emotionally. If you are living with mental health issues such as anxiety, depression, ADHD, or other conditions that may affect you this semester, you are encouraged to discuss these with the Instructor. Although the details are up to you to disclose, the Instruction Staff will do their best to support and accommodate you in order to ensure that you can succeed this course while staying healthy.


  1. Assignment#1 (Due on Tuesday, March 2 by 9:40a): Do the following Exercises from Chapter 2: 2.4, 2.6, 2.9, 2.10, 2.11, 2.14, 2.20, 2.30, 2.39, 2.40. Please submit your solutions as a PDF document by e-mail. Solutions: Click here.
  2. Assignment#2: (Due on Friday, April 2 by 9:40a): This homework requires you to install LC-3 Tools (link in the Software section above) and run the multiplication program from class on March 26 on the simulator. Please submit a screenshot of the simulator after the program has completed (showing the contents of all registers, with answers), by e-mail. Exta Credit: Register for and watch the movie, Coded Bias. It is very informative, topical, and important for all computer scientists. Write a short, 1-page (12 pt font, 1-inch margins) response to the movie ad submit a PDF of it by e-mail. The link to register and obtain streaming link and passcode is: [Note: Please respect the Spring Pause. You do not have to do the simulator assignment until after the Pause, on Wed or thursday of next week. Take a well deserved break!]
  3. Assignment#3: (Due on Tuesday, April 13, 2021 by 9:40a): Click here for details.
  4. Assignment#4 is posted (Due on Friday April 30 and Extra Credit due on Friday, May 7): Click here for details.


Course Policies


Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

As you will discover, we are proponents of two-way communication and we welcome feedback during the semester about the course. We are available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps us get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that we won't have time to cover in-class.

Although computer science work can be intense and solitary, please stay in touch with us, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick e-mail, phone call or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early, since we will be covering a variety of challenging topics in this course.


There will be 5-7 assignments (both written and in-class presentations), weighted equally in the final grading.  Assignments must be submitted according to the Assignment Submission instructions. 

All graded work will receive a grade: 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:

Eaxm 1: 15%
Eaxm 2: 20%
Exam 3 20%
Assignments 25%
Labs 10%
Citizenship/Contribution 10%

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

Submission and Late Policy

All work must be turned in electronically in your designated Dropbox Folder. We will set up this up in Week#1.

No assignment will be accepted after it is past due.

No past work can be "made up" after it is due.

No regrade requests will be entertained one week after the graded work is returned in class.

Any extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance and supported by your Academic Dean.


There will be three exams in this course.  The exams will be closed-book and closed-notes.  The exams will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).

Study Groups

We encourage you to discuss the material and work together to understand it. Here are our thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed, please feel free to ask.

Created on January 14, 2021.