Course Type:
Classroom
Course Catalog Description:
Broad Purpose of Course:
The broad purpose of this course is to provide a solid foundation of knowledge about how computers work at the most fundamental levels. Students always ask, and rightly so, “Why do I need to know this stuff?” The short answer is “Because it pops up practically everywhere your IT career takes you!”. If you pursue computer programming as a profession, you’ll need to know how to manipulate bits and bytes and read long strings of binary in the more convenient form of hexadecimal. If you want to work in cubersecurity, understanding how computers work at the digital circuit level will help you better understand adversarial attack vectors. Cultivating a deep understanding of how computers really work demystifies the modern world. Regardless of your future pursuits, this course will forever change the way you see the world.
Instructor:
Rick Miller, MS Computer Science
California State University Long Beach
Phone: (703) 608-0975
email: richmill@marymount.edu
website: warrenworks.com
Class Hours:
Class Meets In Person
Location | Dates & Time |
Ballston Center, Room 5036 | Monday — 6:45pm – 9:30pm |
Required Text:
Digital Design and Computer Architecture, ARM Edition, First Edition
By Sarah Harris and David Harris
ISBN: 9780128000564 A PDF copy of the book is available to registered students via Canvas. |
Office Hours:
- During on-campus meeting dates either before, during, or after class
- Via phone or Zoom anytime by appointment
Important Dates To Remember:
Event | Date |
First Day of This Class | 13 January 2025 |
Dr. Martin Luther King, Jr. Day (No Class) | 20 January 2025 |
Midterm | 3 March 2025 |
Spring Break (No Class) | 10 March 2025 |
Easter Break | 21 April 2025 |
Last Day of This Class | 28 April 2025 |
Complete Spring 2025 Academic Calendar
Course Objectives:
Upon successful completion of this course students will be expected to:
- Convert between decimal, binary, and hexadecimal number systems
- State the purpose and use of basic logic gates
- Simplify complex logic circuits using boolean algebra and Karnaugh maps
- Use a Hardware Description Language (HDL) to create digital circuit designs
- State the primary components of a microprocessor
- Design and create programs in ARM Assembly Language
Major Topics
Number Systems Logic Gates Combinational Logic Design Boolean Equations Boolean Algebra Karnaugh Maps Sequential Logic Latches and Flip-Flops Finite State Machines |
Hardware Description Languages
|
Grading:
Your grade is based on your performance on assigned projects, exams, class engagement, and class attendance record.
Assignment | Grade Percentage |
Labs/Quizzes | 20% |
Midterm | 30% |
Final | 30% |
Engagement | 20% |
Attendance (Missed Classes) | |
3 (2 summer) | Drop one letter grade |
6 (4 summer) | Drop two letter grades |
8+ (5+ summer) | Fail |
Note: Class attendance is applied to your course performance. Example: If you’re traking a ‘C’, missing 3 classes will drop that to an ‘F’. There is no ‘C’ in a graduate course.
Caution to International Students — Think long and hard before traveling outside the US during the semester as you may encounter delays with travel visa processing when trying to return.
Extra Credit Policy: In the words of one of my stern California State Long Beach professors: “What makes you think you can do extra credit when you can’t do regular credit?” — You need to hit the deck running on the first day of class and keep up with the reading and assignments.
Academic Integrity: This pretty much means don’t cheat on assignments and exams. You are, of course, allowed to used any and all resources allowed by the instructor. You are also free to scour the Internet in search of any material that augments your understanding of the material covered in class.
Unauthorized Uses of Artificial Intelligence: Marymount University acknowledges that ChatGPT and other generative artificial intelligence (AI), text generated tools have the capability of dramatically altering the academic environment in both positive and negative ways. The purpose of this section of Marymount’s Academic Integrity Code is to identify both permitted and prohibited intentional uses of AI-generated text tools to support the University’s academic integrity policies in the most productive way possible.
Permitted Uses:
Educational activities conducted with the advanced written approval of a faculty instructor, in such a way as to facilitate increased knowledge and understanding about the use of AI in business, government, and educational settings.
When permitted, in advance and in writing, by faculty or staff in the conduct of an educational activity as a teaching or learning tool (e.g., tutoring, academic advising, etc.).
As a research tool to assist and enable computer-based internet search activities (e.g., library, database, thesauruses, Grammarly, etc.). Use of AI tools must be formally provided through written approval of the instructor.
Prohibited Uses:
For the development and/or submission of drafts or final versions of any paper, report, or other work research papers submitted in lieu of original student work without instructor permission. This definition includes but is not limited to doctoral dissertations, masters’ theses, and undergraduate written assignments, whether in full or in part. It also includes both graded and ungraded academic work. The improper usage of generative artificial intelligence tools falls within the university’s standard definition for plagiarism: Representing the works of another as one’s own.
Class Schedule: (Note: Material Compressed Into 10-Weeks During Summer Sessions)
Week | Topics Covered | Notes |
1 13 Jan 25 |
|
C Programming Development Environment Setup: MacOS Users:https://www.youtube.com/watch?v=fjJGIP5ic5s&list=PLRXQClC_WU_eg1ulccTgbNwZrar5_Gkja&index=1 Windows Users: https://www.youtube.com/watch?v=a37wNPSWklw&list=PLRXQClC_WU_eg1ulccTgbNwZrar5_Gkja&index=2
Open Account on EDAPlayground.com Install Java: https://www.java.com Install Logisim Evolution: https://github.com/logisim-evolution/logisim-evolution
|
2 20 Jan 25 |
DR. MARTIN LUTHER KING, JR Day |
No Class Watch the C Programming Boot Camp Videos |
3 27 Jan 25 |
|
|
4 3 Feb 25 |
|
|
5 10 Feb 25 |
|
|
6 17 Feb 25 |
|
|
7 24 Feb 25 |
|
|
8 3 Mar 25 |
|
|
9 10 Mar 25 |
|
|
10 17 Mar 25 |
|
|
11 24 Mar 25 |
|
|
12 31 Mar 25 |
|
|
13 7 Apr 25 |
|
|
14 14 Apr 25 |
|
|
15 21 Apr 25 |
|
NO CLASS |
16 28 Apr 25
|
|
|
|
||