Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Kirkwood Community College Course Syllabus

Computer Organization and Assembly Language Programming


CSC-175
Fall 2017
INSTRUCTOR Cate Sheller
Office: 1170 Linn Hall
INSTRUCTOR Office Hours: MWF, 1:25-2:20 PM; TR, 2:30-3:25 PM (or by appointment)
INFORMATION Office phone: 398-5899 ext. 5842
E-mail: cate.sheller@kirkwood.edu
Synonym number: 0271904
SECTION INFORMATION
Course meets Tuesdays and Thursdays, 12:20 to 2:20 PM in room 1186 Linn Hall
CREDIT HOURS 4 credit hours (4 lecture credits, 0 lab credits, 0 clinic credits, 0 internship credits).
CONTACT HOURS 64 lecture hours, 0 lab hours, 0 clinic hours, 0 internship hours
PREREQUISITES Computer Science (CSC142)
Emphasizes the organization and operation of computer systems at the assembly-
language level. Covers mapping of statements and constructs in a high-level language
COURSE DESCRIPTION onto sequences of machine instructions, as well as the internal representation of simple
data types and structures. Offers programming practice with an assembly language to
provide practical application of concepts presented in class.
th
Required textbook: Computer Systems by J. Stanley Warford, 4 edition; Jones &
Bartlett, 2010
Course web site: http://faculty.kirkwood.edu/ cshelle
REQUIRED COURSE Flash drive
MATERIALS Optional:
• personal computer
• C++ compiler & IDE
Books and course materials for this course are available at the Kirkwood Bookstore.
The Kirkwood faculty has identified the following general education outcomes as a major
theme of this course.

GENERAL EDUCATION
• Students will think logically and critically.
OUTCOMES
• Students will understand and apply fundamental mathematic principles.
• Students will possess skills for further learning and the general workplace.

Upon completion of this course students will be able to:

1. Demonstrate proficiency in programming using assembly and machine language.


2. Explain the language translation process.
COURSE STUDENT 3. Understand the relationship between high level programming languages and
LEARNING OUTCOMES machine level implementation.
AND COMPETENCIES 4. Describe a computer system as a construct built upon many layers of
abstraction.
5. Understand computer architecture and its relationship to higher level machine
abstractions.

• You must take each exam at the scheduled time in order to receive full
credit for the exam. If you must miss an exam, contact me before the exam or
as soon afterward as possible in order to arrange a make-up time.
LATE WORK/MAKE-UP
TEST POLICY • Lab and homework assignments must be turned in prior to the exam to
which they pertain. Late submissions may be accepted, at instructor’s
discretion. Incomplete assignments will be accepted for partial credit. Programs
that do not compile, do not execute, or execute incorrectly should still be turned
Kirkwood Community College Course Syllabus
Computer Organization and Assembly Language Programming
CSC-175
Fall 2017
in. If you are having serious problems with an assignment, see me before the
due date.
As stated in the Student handbook: In compliance with Public Law 105-244, Kirkwood
Community College makes a wide variety of general institutional information available to
students. For additional information, go to:
http://www.kirkwood.edu/site/index.php?p=32303
CLASS ATTENDANCE
POLICY AND COLLEGE
Class attendance is strongly recommended. If you miss class it is your responsibility
SPONSORED ACTIVITIES
to find out what you missed and catch up with scheduled course activities. Attendance is
a key element in course success; you are much more likely to succeed if you are present
and attentive. In-class assignments may be given for which you will not receive
credit if you are not present.
We believe that the best learning takes place in an environment where faculty and
students exhibit trust and mutual respect.

In a productive learning environment, faculty and students work cooperatively, recognize


PRODUCTIVE
and respect differences, model the values of character and citizenship, and become
CLASSROOM LEARNING
lifelong learners.
ENVIRONMENT
Turn off or leave home any devices (cell phone, etc.) that may distract you or your
classmates. You may bring a laptop computer or tablet to practice programming
skills in class. You may not use these devices on exams.

See Student Policies: Academic and Enrollment Policies


http://www.kirkwood.edu/site/index.php?p=32303

It is cheating to pass off another student's (or programmer's) work as your own.
This is plagiarism and is inappropriate behavior in an institution of higher learning. Don’t
PLAGIARISM POLICY
do it. If you collaborate with another person to complete a lab, program, or
homework, you must clearly credit the other person's contribution(s). Depending on
the nature of the collaboration, and the degree of contribution you make, such
collaboration may affect your grade. Failure to give due credit to a collaborator will
result in a zero.
See Student Policies: General Policies and Student Rights
http://www.kirkwood.edu/site/index.php?p=32309

CAMPUS CLOSINGS Local radio and TV stations will announce school closings as they received the
information, but the best way to keep informed about class cancellations or delays is via
the Kirkwood Alert System. This system will alert you via e-mail and/or text message of
cancellations, delays, and emergencies. Sign up at http://alert.kirkwood.edu
Students with specific academic and/or classroom needs may request individualized
accommodations. Students wishing to request accommodations should complete an
'Accommodation Request Form' which is available at the Learning Services office, 2063
ACADEMIC
Cedar Hall, or online at www.kirkwood.edu/accommodations. Students will be asked to
ACCOMMODATIONS
provide documentation supporting their request. An accommodation plan must be
completed each semester and given to instructors before academic accommodations will
be provided.
A midterm grade will be calculated and posted on EagleNet. The midterm grade is a
grade-in-progress, and will not affect your official GPA, nor will it impact financial aid. The
midterm grade has three purposes: first, to communicate your academic performance;
MIDTERM GRADES
second, to provide opportunities for you to discuss your progress with your instructor; and
third, to allow Kirkwood to design college-wide intervention programs that will improve
student success.
Kirkwood Community College Course Syllabus
Computer Organization and Assembly Language Programming
CSC-175
Fall 2017

Your grade will be determined by the sum of the total points earned from the following
assessment instruments:
• 3 exams (4 exams given, top 3 count: 300 points total)
STUDENT EVALUATION
• approximately 11 homework/lab assignments (5-20 points each; about 150
points total)
A tentative schedule of topics and due dates for assignments, along with firm dates for
exams, may be found on the last page of this document.

A >= 91 C 71-78.9
A- 90-90.9 C- 70-70.9
B+ 89-89.9 D+ 69-69.9
GRADING SCALE
B 81-88.9 D 61-68.9
B- 80-80.9 D- 60-60.9
C+ 79-79.9 F < 60

To find the last day to get a refund, go to EagleNet for Students, then Search for
Sections, then click the link for this term's Last Day to Drop and Refund Dates list.

http://www.kirkwood.edu/lastdaytodrop
DROP DATE
The last date to drop this class for this term is December 1, 2017.

Details of the refund schedule can be found under Academic & Enrollment Policies at:
http://www.kirkwood.edu/site/index.php?p=35066
FINAL EXAM Final exams are scheduled during the last week of the term from December 8 to 14. The
INFORMATION final exam for this class is scheduled on Thursday, December 14 at 10:10 AM.

See Facilities: Emergency/Crisis Information


EMERGENCY
INFORMATION
http://www.kirkwood.edu/site/index.php?p=7987
OTHER INFORMATION Check Refund Policy at: http://www.kirkwood.edu/site/index.php?p=35066
*APPENDIX OF SPECIFIC LEARNER OUTCOMES*
A. Higher Level Language Model
• Describe the nature of computation from the higher level language perspective.
• Identify and describe attributes common to higher level languages, including:
• data and data types
• executable statements
• control structures & program flow
• modularity
B. Assembly Language Model
• Identify and describe the functional components of a computer system (processor, storage and
input/output) in terms of assembly language commands.
• Manipulate data in assembly language code.
• Create structured programs in assembly language.
• Assemble, debug and execute assembly language programs.
• Explain how computers represent integers, real numbers, and character data.
representation of negative numbers
storage capacity and its effect on numeric magnitude
• Perform arithmetic operations on binary and hexadecimal notations
• Convert numbers between decimal, binary and hexadecimal notations.
• Use condition codes to implement control structures in assembly language.
• Represent data structures in assembly language
C. Machine Language Model
• Describe the fetch/execute style.
• Explain the parts of a machine language instruction.
op code
operand(s)
mode
• Identify and explain the functions of special-purpose registers.
program counter
instruction register
stack pointer
• Explain the role of the bus.
• Describe the relationship between machine language instructions and assembly language
instructions, directives and macros.
• Explain the nature of run-time errors.
D. The Digital Logic Model
• Interpret and create truth tables describing the operations of Boolean algebra.
• Combine simple Boolean operations to represent logical expressions.
• Describe how Boolean logic is used for program control in assembly language.
• Use bit-shuffling to perform arithmetic operations.
• Diagram digital circuits using and-gates, or-gates, xor-gates and not-gates.
• Describe the construction of a computer processor in terms of digital circuits.
• Describe how transistors and integrated circuits are constructed using nand- and nor-gates.
CSC-175 Computer Organization & Assembly Language Programming
Fall 2017
Tentative Schedule (Tuesday-Thursday)
Date Topic Reading Work Due
Tue, 08-22 Course intro / Computer Systems Chapter 1
Thu, 08-24 Characteristics of High Level Languages Chapter 2
Tue, 08-29 HLLs / Intro to C++ Chapter 2 Homework 1
C++ crash course: program structure, data types,
Thu, 08-31 expressions Handouts
C++ crash course: control structures, functions,
Tue, 09-05 parameters Handouts
Thu, 09-07 C++ crash course: operator overloading, pointers Handouts Homework 2
Tue, 09-12 Catch-up, review
Thu, 09-14 Exam 1 Homework 3
Tue, 09-19 Information representation: integers Section 3.1
Thu, 09-21 Signed numbers and bit operations Sections 3.2- 3.4
Tue, 09-26 Floating-point numbers Sections 3.5 – 3.6 Homework 4
Thu, 09-28 Intro to computer architecture: Pep/8 Chapter 4
Survey of historical architectures / von Neumann
Tue, 10-03 machines Handouts Homework 5
Thu, 10-05 Intel expanding op codes / Java Virtual Machine Handouts
Tue, 10-10 Catch-up/Exam Review
Thu, 10-12 Exam 2
Tue, 10-17 Assembly Language: Pep/8 Chapter 5
Thu, 10-19 Control structures in Pep/8 Sections 6.1 – 6.2 Homework 6
Tue, 10-24 Lab Sections 6.1 – 6.2
Thu, 10-26 Functions & Parameters, Scope Sections 6.3 – 6.4 Homework 7
Tue, 10-31 Lab
Thu, 11-02 Arrays Handouts Homework 8
Tue, 11-07 Lab
Thu, 11-09 Language Translation Chapter 7 Homework 9
Tue, 11-14 Catch-up/Exam Review
Thu, 11-16 Exam 3 Homework 10
Tue, 11-21 NO CLASS: THANKSGIVING HOLIDAY
Thu, 11-23 NO CLASS: THANKSGIVING HOLIDAY
Tue, 11-28 Combinational circuits Chapter 10
Thu, 11-30 Combinational circuits Chapter 10
Tue, 12-05 Sequential circuits Chapter 11
Thu, 12-07 Catch-up/Exam Review Homework 11
Thu, 12-14 FINAL EXAM (10:10 AM)

You might also like