Syllabus
Computer Organization and Machine Language

Computer Organization and Machine Language

COSC-2325

Credit Spring 2020
01/21/2020 - 05/17/2020

Course Information

Section 004
Lecture
TTh 09:00 - 10:45
HLC4 1215.07
Karina Hernandez

Section 004
Laboratory
TTh 10:50 - 11:55
HLC4 1215.07
Karina Hernandez

Section 001
Lecture
MW 11:00 - 11:55
NRG4 4231
Karina Hernandez

Section 001
Laboratory
MW 11:55 - 13:30
NRG4 4231
Karina Hernandez

Section 003
Lecture
TTh 12:00 - 13:45
HLC4 1215.05
Karina Hernandez

Section 003
Laboratory
TTh 13:45 - 14:45
HLC4 1215.05
Karina Hernandez

Office Hours

  • M W
    1:30 pm - 2:00 pm
    NRG4 4243
    An appointment is needed to meet instructor during office hours. Please send email to instructor to confirm your appointment day/time
  • M W
    8:30 am - 9:00 am
    RRC 2220
    An appointment is needed to meet instructor during office hours. Please send email to instructor to confirm your appointment day/time
  • T Th
    8:30 am - 9:00 am
    HLC 1215.07
    An appointment is needed to meet instructor during office hours. Please send email to instructor to confirm your appointment day/time

Course Requirements

The Blackboard course access for this class will be available to students starting 01/21/2020 (First Day of Class).

Course Description:  Computer organization and programming for the microcomputer. Emphasis on macros, assemblers, loaders, linkers, subroutines, internal and I/O operations, low level I/O, recursion, data manipulation including arrays and records.

Pre-requisite:  COSC 1336 or instructional program approval.

Instructional Methodology:  The course consists of lectures & lab exercises to provide practical application of skills. All assignments, announcements, grades and instructional materials presented during the class will be also available through the Blackboard class management system. Each student will use his/her ACCeID login name and password for accessing Blackboard.

Course Rationale:  This course is required as part of the Associate of Applied Science degree. The intent of the course is to teach basic computer architecture and assembly language using a current, representative platform.

Readings

By David A. Patterson and John L. Hennessy

ISBN:   9780128017333

 

Student Learning Outcomes/Learning Objectives

As an outcome of taking this course, the student will be able to:
  1. Describe the basic architecture of a modern microprocessor, make intelligent comparisons to different types of architectures such as RISC and CISC, stack machines, etc, and show examples of typical machine-level instructions.
  2. Express numbers in the decimal, binary, and hexadecimal number systems, convert numbers between those systems, and add two numbers and obtain a correct result using two numbers from any one of the systems. Also, the student will be able to describe the implementation of two’s complement number representation on typical machines, explain why it was chosen for representing signed numbers and how it relates to the internal arithmetic circuitry, and desk-check binary values by performing two’s complement arithmetic with pencil and paper.
  3. Describe typical methods used to encode standard data types so that they may be stored and manipulated at the machine level.
  4. Demonstrate methods of accessing information in machine memory using direct or indirect addressing schemes, and describe various memory management schemes used in typical microcomputer systems including segmented and virtual memory.
  5. Describe how modern microprocessors interface with externally-connected hardware and I/O devices.
  6. Apply text processing techniques at the machine level and use that knowledge to write macros using macro languages.
  7. Be well acquainted with the stack (LIFO) data structure and utilize stack instructions and stack frames where appropriate at the machine level. The student shall also be able to describe the basic organization of the stack in typical computer systems, and explain how it is used to facilitate programming with modular components (functions and procedures).The student will be able to describe how information is passed into and out of subprograms, and basic subprogram context (local variables, etc.) and how the stack is used to implement these concepts.
  8. Demonstrate how to set up standard data structures (such as arrays) in computer memory and explain how these structures are accessed at the machine level.
  9. Analyze internal machine state and how it is established at any point during runtime, demonstrate how to save and restore that state, and provide examples of situations where saving and restoring machine state are needed.
  10. Compare high-level programming languages (HLLs) and their source statements to corresponding machine language, describe basic translation from HLLs to a particular machine language, and interface subprograms written in assembly language with a typical HLL such as C/C++.

SCANS (Secretary’s Commission on Achieving Necessary Skills):

Secretary's Commission on Achieving Necessary Skills (SCANS): In 1989, the U.S. Department of Labor education jointly surveyed U.S. employers to find out the most important skills and competencies needed by workers. The results of that survey identified SCANS (Secretaries Commission on Achieving Necessary Skills). These are skills that employers need the most from their workers. SCANS skills are the predictors of success in workplace. The following is a list of SCAN competencies identified in this course. For expanded definitions of the listed SCANS, please go to: www.academicinnovations.com/report.html

 The following list summarizes the SCANS competencies addressed in this particular course:

RESOURCES

1.1 Manages Time

INTERPERSONAL

2.1 Participates as a member of a team

2.6 Works with Cultural Diversity

INFORMATION

3.1 Acquires and Evaluates Information

3.2 Organizes and Maintains Information

3.3 Uses Computers to Process Information

SYSTEMS

4.1 Understands Systems

4.2 Monitor and Corrects Performance

4.3 Improve and Designs Systems

TECHNOLOGY

5.1 Selects Technology

5.2 Applies Technology to Task

5.3 Maintains and Troubleshoots Technology

 

BASIC SKILLS

6.1 Reading

6.2 Writing

6.3 Arithmetic

6.4 Mathematics

6.5 Listening

THINKING SKILLS

7.2 Decision Making

7.3 Problem Solving

7.4 Mental Visualization

7.5 Knowing How to Learn

7.6 Reasoning

PERSONAL SKILLS

8.1 Responsibility

8.2 Self-Esteem

8.3 Sociability

8.4 Self-Management

8.5 Integrity/Honesty

 

 

Grade Policy

Grading will be based on evaluation of concepts and their practical application. Exams, Assignments, Labs, Quizzes, and a Final Team Project will be part of the grade. An overall grade will be assigned based on the following:

Grading Method

 

 

Grading Scale

 

Assignments

15 %

 

90% - 100%

= A

Labs

20 %

 

80% - 89%

= B

Quizzes

Final Project

5 %

25 %

 

70% - 79%

60% - 69%

= C

= D

Exams (3)

30 %

 

0% - 59%

= F

Class Participation 5 %      

TOTAL

100%

 

 

 

You are allowed unlimited in each Quiz and the final grade is the average of all attempts.

Every quiz, assignment, lab, and exam has a due date (Check Blackboard). Assignments/labs must be submitted through Blackboard. Instructor will not accept e-mailed submissions.

Late Labs/Assignments will NOT be accepted after its corresponding due date. After the due date:

  • labs/assignment links are automatically removed from Blackboard
  • it won’t be possible to submit an assignment/lab solution
  • grade in assignment/lab will automatically become 0 (zero).

Any scheduling of computer time needed if using ACC CIT open computer labs is the students’ responsibility. Availability of computers is NOT an excuse for being late with any assignment.

All lab/assignments are typically graded within one week after the assignment has been submitted. Grades are recorded in Blackboard and may be accessed via the My Grades button.

There are NO makeup exams or extra credit assignments given in this course. 

Course/Class Policies

Attendance / Withdrawal

Regular and punctual class and laboratory attendance is expected of all students.  If attendance or compliance with other course policies is unsatisfactory, the instructor may withdraw students from the class.  

Students who do not come to class and do not contact the instructor during the first week of class (01/21/2020-01/26/2020) will be withdrawn from the class and reported as “Never attended” and will be ineligible for financial aid.

Students are expected to regularly monitor their ACC email and this class Blackboard site to keep up with the course schedule. Students who do not comply with course policies may be withdraw from the class. It is the student’s responsibility to complete a Withdrawal Form in the Admissions Office if they wish to withdraw from this class. The last date to withdraw for this semester is April 27th, 2020. It is not the responsibility of the instructor to withdraw the students from their class even though the instructor has the prerogative to do so under the above listed circumstances.

Important Note: State law allows only 6 withdrawals per student in the entire undergraduate degree no matter how many colleges you attend. This applies to students who entered college in Fall 2007 or later. Please see the Counseling / Student Services offices if you have questions about this law

Incomplete

A student may receive a temporary grade of “I” (Incomplete) at the end of the semester only if ALL of the following conditions are satisfied:

  1. The student is unable to complete the course during the semester due to circumstances beyond their control.
  2. The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
  3. The request for the grade must be made in person at the instructor’s office and necessary documents completed.
  4. To remove an “I”, the student must complete the course by two weeks before the end of the following semester.  Failure to do so will result in the grade automatically reverting to an “F”.

Communication

All College e-mail communication to students will be sent solely to the student’s ACCmail account, with the expectation that such communications will be read in a timely fashion. ACC will send important information and will notify you of any college related emergencies using this account. Students should only expect to receive email communication from their instructor using this account. Likewise, students should use their ACCmail account when communicating with instructors and staff.

The ACC online Blackboard system http://acconline.austincc.edu and the ACCmail accounts will be used as the official communication systems during this semester.  All course material, announcements, changes to course schedule/assignments and grades will be posted on Blackboard. Students are expected to check both Blackboard and their ACCmail accounts on a regular basis (at least twice a week). Student emails from non-ACC accounts will not be acknowledged.

When emailing instructor, you must include your course id (COSC2325) and section number (002) in the “Subject” field (e.g., COSC2325-002 need help with lab1 assignment)

For information on how to log onto Blackboard and ACCmail please visit the following sites: http://www.austincc.edu/accmail/activation-and-login-assistance

Students are also encouraged to take advantage of Discussion board forums in Blackboard. In the Q&A forum, you can post questions and comments of general interest so that everyone can benefit from the discussion.

Other questions, such as questions about your grades, should be discussed directly with the instructor. Students are encouraged to ask questions. The instructor knows that some material may be difficult to grasp at times and will be glad to give additional examples or one-to-one assistance when asked.

Class progress

Students are expected to keep up with the schedule of the class and demonstrate progress as they engage in each of the learning modules outlined for this course. Each new concept builds on previous concepts and regular progress through the material is crucial to success on exams and assignments.

If an assignment is taking longer than expected to complete and you are struggling, reach out to instructor for guidance. You are not alone! Time is valuable and critical! Use it wisely!

It is going to be difficult to catch up if you fall behind. If you feel you are falling behind, reach out to instructor PROMPTLY, to find ways to get you back on track. If you wait, the only viable option is likely to be dropping or withdrawing from the class.

Exams

Exams will cover material from the textbook and supplemental material shared during lectures and under each week module in this class Blackboard site.

Exams grades will be posted in Blackboard. Exam solution will be discussed during class If you want to review and discuss the test with the instructor you may do so by scheduling an appointment with the instructor. Exams are not returned to the student.

Each exam day is posted in the Course Schedule section in this document and in Blackboard (“Course Information” module). Failing to take any of the exams will lead to a grade of 0 in the corresponding exam which may jeopardize successful completion of this course.

Academic Integrity

A student attending ACC assumes responsibility for conduct compatible with the mission of the college as an educational institution. Students have the responsibility to submit coursework that is the result of their own thought, research, or self-expression. Students must follow all instructions given by faculty or designated college representatives when taking examinations, placement assessments, tests, quizzes, and evaluations. Actions constituting scholastic dishonesty include, but are not limited to, plagiarism, cheating, fabrication, collusion, and falsifying documents.

See the Student Standards of Conduct and Disciplinary Process.

All submitted work must be the work of the student and (for group assignments) the group members. Students may not share assignment solutions, except within their group on team project assignments. Students may not use solutions from the web. Students must not publicly post their assignment solutions/exams or make it available (e.g. via GitHub), even after the course is over. Students may share it privately with recruiters, provided students make clear it must not be redistributed.

Any detected cases of cheating or violation of the academic integrity rules described in this syllabus, in the current Student Policies Handbook and in the Student Standards of Conduct document will be pursued.

For this course, penalties include: receiving a zero on the assignment (first offense), failing the course (second offense), having a note placed in your permanent academic record, suspension, and ultimately expulsion.

Student Rights and Responsibilities

Students at the college have the rights accorded by the U.S. Constitution to freedom of speech, peaceful assembly, petition, and association. These rights carry with them the responsibility to accord the same rights to others in the college community and not to interfere with or disrupt the educational process. Opportunity for students to examine and question pertinent data and assumptions of a given discipline, guided by the evidence of scholarly research, is appropriate in a learning environment. This concept is accompanied by an equally demanding concept of responsibility on the part of the student. As willing partners in learning, students must comply with college rules and procedures.

Statement on Students with Disabilities Each ACC campus offers support services for students with documented disabilities. Students with disabilities who need classroom, academic or other accommodations must request them through the Student Accessibility Services (SAS) offices on the campus where they expect to take the majority of their classes/exams. Students are encouraged to request accommodations when they register for courses or at least three weeks before the start of the semester, otherwise the provision of accommodations may be delayed (Refer to the current ACC Student Policies Handbook). Students who have received approval for accommodations from SAS for this course must provide the instructor with the ‘Notice of Approved Accommodations’ from SAS before accommodations will be provided. Arrangements for academic accommodations can only be made after the instructor receives the ‘Notice of Approved Accommodations’ from the student. Students with approved accommodations are encouraged to submit the ‘Notice of Approved Accommodations’ to the instructor at the beginning of the semester because a reasonable amount of time may be needed to prepare and arrange for the accommodations.

Safety Statement Austin Community College is committed to providing a safe and healthy environment for study and work. You are expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies. Because some health and safety circumstances are beyond our control, we ask that you become familiar with the Emergency Procedures poster and Campus Safety Plan map in each classroom. Additional information about safety procedures and how to sign up to be notified in case of an emergency can be found at http://www.austincc.edu/emergency/

Please note, you are expected to conduct yourself professionally with respect and courtesy to all. Anyone who thoughtlessly or intentionally jeopardizes the health or safety of another individual will be immediately dismissed from the day’s activity, may be withdrawn from the class, and/or barred from attending future activities.

Tutoring

Free tutoring is provided for this course both on line and face-to-face.  For online schedules and details please refer to Tutoring Schedule site.

Student and Instructional Services

ACC strives to provide exemplary support to its students and offers a broad variety of opportunities and services. Information on these services and support systems is available here. Links to many student services and other information can be found at Current Students. ACC Learning Labs provide free tutoring services to all ACC students currently enrolled in the course to be tutored. The tutor schedule for each Learning Lab may be found here. For help setting up your ACCeID, ACC Gmail, or ACC Blackboard, see a Learning Lab Technician at any ACC Learning Lab.

Freedom of Expression Policy

It is expected that faculty and students will respect the views of others when expressed in classroom discussions.

Student Files – Privacy

The information that a student stores in his/her student volume in the Computer Studies Labs may be viewed by their instructor for educational and academic reasons.

Use of Electronic Devices

The use of cell phones, pagers and personal electronic devices is not allowed at any time in the class or lab. Students are asked to set their cell phones to vibrate or silent mode. If any student must take an emergency call, he/she is requested to step out into the hallway. Please refrain from texting or tweeting during class. iPod and MP3 player use is not allowed during lecture time or during exams. The use of a laptops or tablets in class or lab is restricted to instructor approved activities. Please do not use technology for recreational purposes during class.

Safety Statement

Each student is expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies.  Emergency posters and Campus Safety Plans are posted in each classroom.  Additional information about safety procedures and how to sign up to be notified in case of an emergency can be found at http://www.austincc.edu/emergency/

Anyone who thoughtlessly or intentionally jeopardizes the health or safety of another individual will be immediately dismissed from the day’s activity, may be withdrawn from the class, and / or barred from attending future activities.

Concealed Handgun Policy

The Austin Community College District concealed handgun policy ensures compliance with Section 411.2031 of the Texas Government Code (also known as the Campus Carry Law), while maintaining ACC’s commitment to provide a safe environment for its students, faculty, staff, and visitors.

Beginning August 1, 2017, individuals who are licensed to carry (LTC) may do so on campus premises except in locations and at activities prohibited by state or federal law, or the college’s concealed handgun policy.

It is the responsibility of license holders to conceal their handguns at all times. Persons who see a handgun on campus are asked to contact the ACC Police Department by dialing 222 from a campus phone or 512-223-7999.

Refer to the concealed handgun policy online.

Facts

  • All public Texas colleges and universities must abide by the law.
  • Private institutions may opt out of implementing the law.
  • The concealed campus carry law does not allow open carry on campus.
  • A person must have a License to Carry a Handgun (LTC).
  • A person must be at least 21 to obtain a LTC, unless he/she is active duty military or a police officer.
  • Faculty and staff do not have authority to ban handguns from classrooms.
  • Campus carry laws exist in eight states (Texas, Colorado, Utah, Idaho, Mississippi, Kansas, Oregon, and Wisconsin).
  • Licensed gun owners have been allowed to carry concealed handguns on public campuses (but not in buildings) for 20 years.

Course Subjects

  1. Introduction
  2. Data Representation
  3. Boolean Algebra and Digital Logic
  4. Instructions: Language of the Computer
  5. Assembly Language
  6. The Processor
  7. Memory
  8. Parallel Processing

Schedule(*)


Week
Topic
Reading
Assignment
Week 1
 
Class Introduction/Syllabus/Schedule
Lab Orientation
CH1: Computer Abstractions and Technology (1.1-1.11)
Assignment 1
Lab 1
Quiz 1
Overview of Computer Organization and Computer Architecture
Week 2
 
Data Representation in Computer Systems
CH3: Arithmetic for Computers (3.1-3.6)
Assignment 2
Lab 2
Quiz 2
Week 3
 
Boolean Algebra and Digital Logic
Appendix A: The Basics of Logic Design
Assignment 3
Lab 3
Quiz 3
Week 4
 
Exam 1 Review
EXAM 1
Week 5
 
Instruction Set Architecture: Instruction Formats
CH2: Instructions: Language of the Computer (2.1-2.5)
Assignment 4
Lab 4
Quiz 4
Week 6
and
Week 7
ARM Assembly Programming
CH2: Instructions: Language of the Computer (2.6-2.12)
Assignment 5.1
Lab 5.1
Assignment 5.2
Lab 5.2
Quiz 5
Week 8
 
Physical Computing and the Raspberry Pi
Lecture Notes
Assignment 6
Lab 6
Quiz 6

SPRING BREAK - COLLEGE CLOSED - NO CLASS

03/16/2020 - 03/22/2020

Week 9
 
Exam 2 Review
Exam 2
Week 10
and
Week 11
The Processor
CH4: The Processor
(4.1- 4.11)
Assignment 7.1
Lab 7.1
Assignment 7.2
Lab 7.2
Quiz 7
Week 12
 
Memory
CH5: Large and Fast: Exploiting Memory Hierarchy (5.1-5.10)
Assignment 8
Lab 8
Quiz 8
Week 13
 
Parallel Processing
CH6: Parallel Processors from Client to Cloud
(6.1-6.8)
Assignment 9
Quiz 9
Exam 3 Review
Final Project Work
Week 14
 
Exam 3
Final Project Work
Week 15
 
Final Project Work
Week 16
 
Final Project Presentations

(*)This syllabus is intended to give the student guidance in what may be covered during the semester and will be followed as closely as possible.
However, the professor reserves the right to modify, supplement and make changes as the course needs arise.
Students will be notified of any changes in class and via Blackboard announcements.