# CMPSCI-122 - Computer Architecture and Assembly Language - Dwight Sikkema

Course: Computer Architecture and Assembly Language Dwight Sikkema dwight.sikkema@canyons.edu OnlineLive 16 Week

## Introduction

Computer Science is all about solving problems using computers.  If you like solving problems from word games, number games, to even video games, it is likely that you will like using a computer to solve problems.  This class is entirely about the unique properties a computer has with respect to problem solving.  In addition, we learn how to tell the computer how to solve problems.

For you who have no experience in computer programming, I think you will find this course provides a useful understanding of computers that can be a foundation for your future classes.  If you are not going to pursue computer science as a career, you may find yourself using some of what is taught here if you are in a career using computers or solving problems.

For you who have some experience with computer programming, some of the programming topics discussed in this course may be a bit redundant; however, your previous programming classes likely focused on application development.  The use of the C programming language and assembly language are geared more toward systems programming.  Unlike application programming, systems programming is more tied to the underlying hardware architecture than application programming.  Because of this, systems programming and assembly language help reinforce an understanding of computer architecture.

## Course Description

In this course you will learn the basic elements of a computer and how they interact with one another in various computer architectures.

You will understand numbering systems so that we can easily move between Decimal and the Binary numbering system... the numbering system of the computer.  We will also learn the Hexadecimal numbering system as it makes it a little easier to work with binary numbers.

Binary numbers are represented in various ways in a computer to represent integers, floating point numbers, decimal numbers, and characters.

Once we have representations of numbers, we will look at the operations that can be performed on those numbers in the computer.

We then turn toward how a computer is programmed.  We first understand how this is done using an high-level language (C) and then in machine language (the rudimentary language of the computer), and finally Assembly language which is a symbolic and more readable form of machine language.

## What to Expect in this Course

There are exercises due each work used to reinforce the previous week's instruction material.  These are in the form of online quizzes taken on Canvas.  Students have the opportunity to take each assignment three times to advance their score.

There are two quizzes and two exams (midterm and final).  These are in the form of Canvas online quizzes and are based on the assignments done throughout the semester.  The midterm and final are cumulative.  You will need to have some way to take a picture of the scratch paper that you used and have the ability to e-mail those pictures to the instructor.

The programming assignments are done during a portion of class and office hours and recorded.  Students are taken step by step on how to develop and debug their programs until they are working.  The C programming assignments require access to a web browser.  The Assembly programs will be done on the Pep/9 application that can only be installed on Windows and Mac computers (Google Chromebooks not supported).

Bring a pencil and paper to each class and be prepared to work problems given in class and provide your answers in a private chat to the instructor.  Your answers will not be graded but will be used to gauge your understanding of the material being covered.

## Types of Assessments

There will be assignments in the form of online quizzes.

Two quizzes in the form online quizzes taken during class time and proctored and two exams in the form online quizzes taken during class time and proctored.  All exams and quizzes require some form of work to be done on scratch paper.  You will be required to show your work for the questions that require work to be done.  At the end of the quiz and exam, you will send pictures of your work to the instructor.

There will be a C programming project and an Assembly programming project.  The C programming project will be used to create the Assembly programming project.  The projects are cumulative.  That is, you will turn in your work at various stages of development.  Therefore, you must turn in each project increment to complete all projects.

## Textbook Information

A textbook exists specifically for this course:

• Text: Introduction to Computer Architecture and Systems Programming, First Edition, Author: Sikkema, Available as an eBook on Google Play/Books
• Supplemental Text: Computer Systems, 5th Ed., Author: Warford, ISBN: 9781284079630

The first text contains all material covered in the class in written form.  Students have found it an extremely helpful in preparation for upcoming lectures as well as an excellent supplement to past lectures.

The Warford text is an excellent computer science textbook and belongs on the bookshelf of any student or professional of computer science.  It was the foundation of the textbook now used in the class.

## Other Relevant Course Information

One of the things that surprises students is that writing programs takes typing skills.  If you are a below average typist, consider boosting your skill using any of a number of online and free typing skills classes.

Although we are no longer constrained by physical class size, a large class is difficult to manage even with OnlineLIVE as we use chat and all of the programming projects require careful grading.  So, each waitlist individual will be evaluated carefully to determine if being added to the class is warranted.

Finally, because of the cumulative nature of the projects as well as the material, "checking out" of the class by not completing assignments, projects, or taking quizzes or exams may result in you being dropped or withdrawn from the class.

### Canvas

This course can be accessed on the first day of class via Canvas at https://coc.instructure.com. Log into Canvas using your CanyonsID single sign-on:

Please visit the Get to Know Your Online Classroom page for help logging into Canvas and for tips on using Canvas and Zoom. Canvas Chat Support is also available 24/7 for any Canvas related issues.

### Online Education

Check out the Online Education website for more information on a variety of topics that can help you be a successful online student such as: exam proctoring, learning styles, computer skills, and tips for student success. If this is your first online course, feel free to take our online learning readiness assessment to assess your skills.

### The Learning Center (TLC)

The TLC provides FREE online tutoring resources to COC students!

College of the Canyons AAC provides educational services and access for eligible students with documented disabilities who intend to pursue coursework at COC. A variety of programs and services are available which afford eligible students with disabilities the opportunity to participate fully in all aspects of the college programs and activities through appropriate and reasonable accommodations. For more information on their services visit the Academic Accomodation Center website.

### Online Counseling

The Counseling Department offers appointments online. You can schedule an appointment by visiting the Online Counseling website. Counselors can help you map out a plan to reach your educational goals as well as advise you on course selection and registration.

### Management of Stress and Mental Health

Often the pressure on our students is very strong, involving academic commitments, relationships, outside jobs and family pressure to name a few. The staff and faculty of College of the Canyons are here to see you succeed academically and care about your emotional and physical health. You can learn more about the broad range of confidential student services, including counseling and mental health services available on campus by visiting the Student Health & Wellness Center in the Student Services Building (across from the bookstore). The phone number is 661-362-3259 that you can call 24/7. You can also e mail for an appointment at StudentHealthCenter@canyons.edu. At the Canyon Country Campus the Health Center will be in the new Student Services Building.

Also, the National Suicide & Crisis Lifeline number is now 988. All students at COC are encouraged to enter that phone number in their cells. You can call it when you, or someone you know, is having thoughts of suicide or is in severe distress.

You can also now use the Crisis Text Line: Just text "Courage" to 741741. Someone will get back to you immediately. Its free, 24/7, and confidential.

### Veterans Resource Center

The College of the Canyons Veterans Resource Center is a department within the Student Services Division at the college, created to help veterans and veteran dependents with applying to College of the Canyons, enrolling in classes, and requesting VA Education or Vocational Benefits. For more information please visit the Veterans Resource Center website, email veterans@canyons.edu or phone (661) 362-3469.

### Library

The Library provides live online and in-person research help, access to a full range of e-resources and physical materials that support the curriculum, individual and group study areas, and much more!

Last updated: 01/22/2022 Sub#: 1240