0% found this document useful (0 votes)
69 views

Introduction To Assembler Programming Course Syllabus - Spring 2013

This document provides the syllabus for an Introduction to Assembler Programming course taught in the spring 2013 semester. The syllabus outlines the course details including instructor information, prerequisites, course objectives, required resources, class schedule, grading policy, attendance policy, assignment policies, and academic honesty policy. The course is an introduction to machine language and assembly language programming concepts. Topics covered include instruction set architectures, basic assembly, bit operations, subroutines, arrays, structures, floating point numbers, and the relationship between assembly and high-level languages. Students will complete programming assignments, quizzes, exams, and a final exam throughout the semester.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Introduction To Assembler Programming Course Syllabus - Spring 2013

This document provides the syllabus for an Introduction to Assembler Programming course taught in the spring 2013 semester. The syllabus outlines the course details including instructor information, prerequisites, course objectives, required resources, class schedule, grading policy, attendance policy, assignment policies, and academic honesty policy. The course is an introduction to machine language and assembly language programming concepts. Topics covered include instruction set architectures, basic assembly, bit operations, subroutines, arrays, structures, floating point numbers, and the relationship between assembly and high-level languages. Students will complete programming assignments, quizzes, exams, and a final exam throughout the semester.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Introduction to Assembler Programming

Course Syllabus – Spring 2013

Course Information
Instructor: Dr. Mike Jochen Course Number: CPSC 232
Phone: 570.422.3036 Section: 12028
Email: [email protected] Class Time/Place: Tues/Thurs 12:30 – 1:45 p.m.
Office: 337 SCITECH Building 355 SCITECH
Office Hours: Tues/Thurs 11 a.m. – 12:30 p.m. Semester Hours: 3
Weds 9:30 – 11:30 a.m.
& by appointment

Prerequisites
CPSC 141 – Introduction to Computer Organization
CPSC 151 – Linear Data Structures and Elementary Algorithm Analysis

Course Overview
This course provides an introduction to machine language and assembly language programming. Concepts
discussed include techniques for encoding data as numbers, instruction set design, and the IEEE floating
point standard. Assignments, which reinforce ideas covered in Computer Organization (CPSC 141), teach
assembly language programming techniques and allow students to practice assembler programming. This is
a programming intensive course.

Course Objectives
By the end of the semester, you will be able to:

• Edit, compile, execute, and debug an assembler program.

• Write a syntactically and semantically correct assembler program.

• Use a subroutine library within an assembler program.

• Manipulate standard data types and other forms of data within an assembler program.

• Implement conditional and looping structures within an assembler program.

• Create and use assembly subroutines.

• Implement and manipulate standard data structures within an assembler program.

• Create and use assembly macros.

• Use conditional assembly and other directives.


CPSC 232 Introduction to Assembler Programming

Resources
• Textbook: Carter, P. PC Assembly Language.
Free Version: http://www.drpaulcarter.com/pcasm/
• Textbook: Hyde, R. The Art of Assembly Language Programming.
Free version: http://webster.cs.ucr.edu/www.artofasm.com/Windows/
• Selected readings from various sources as assigned

• The Netwide Assembler (NASM) http://www.nasm.us/


• Online Course management System: https://esu.desire2learn.com/

Requirements
Throughout the semester you will complete the following:
• Individual/Group Homework/Programming Assignments
• Quizzes

• Exams

Tentative Class Schedule


The following is a tentative schedule for the course. Homework assignments will be announced in class.
Quizzes may be announced and/or “pop” (unannounced). An updated version of this schedule will be
available on the class course management site. In the schedule below, readings from “C:” mean readings
from the P. Carter text. Readings from “H:” mean readings from the R. Hyde text.

Date Topic Activity Reading


01/29 Introduction
01/31 Machine Organization & Assembly C: 1.1–1.3
02/05 Instruction Set Architectures H: vol 2, chpt 5
02/07 Instruction Set Architectures H: vol 2, chpt 5
02/12 Basic Assembly C: 1.4, 2
02/14 Basic Assembly C: 1.4, 2
02/19 Bit Operations C: 3
02/21 Bit Operations C: 3
02/26 Bit Operations C: 3
02/28 Exam 1 C 1–3, H: vol 2 chpt 5
03/05 Sub Programs C: 4
03/07 Sub Programs C: 4
03/12 Sub Programs C: 4
03/14 Arrays C: 5
03/19 Spring Break! No Class
03/21 Spring Break! No Class
03/26 Arrays C: 5
03/28 Arrays C: 5
04/02 Structs C: 7.1
(continued on next page)

Spring 2013 page 2 of 5


CPSC 232 Introduction to Assembler Programming

(continued from previous page)


Date Topic Activity Reading
04/09 Structs C: 7.1
04/11 Floating Point C: 6
04/16 Exam 2 C 4–5, 7.1
04/18 Floating Point C: 6
04/23 Floating Point C: 6
04/25 Assembly & HLL C: 7.2
04/30 Assembly & HLL C: 7.2
05/02 RISC
05/07 ARM Assembly
05/09 ARM Assembly
05/16 Final Exam
11 a.m. – 1 p.m.

Grading Policy
All work is due at the time and day specified when the assignment is given. Submission details for work
to be graded will be given at the time the work is assigned. If you want me to reconsider your grade on a
particular assignment, you must make your request within seven days of my handing out the graded work.
Quizzes will be given throughout the semester. I will automatically drop your one, lowest quiz score
(one score only) when calculating your final grade.
If you are absent the day an exam or quiz is given, you will receive a grade of zero. If you know you
must miss a class, please speak with me ahead of time so that we can try to make a mutually beneficial
arrangement. Some examples of situations that may permit a make-up would be: extreme illness, death in
the family, imprisonment, etc. Some examples that will not get you a make-up are: minor illness, sporting
events, concerts, routine doctor visits, social events, oversleeping, etc.
I do not give separate make-up assignments. If I authorize a make-up for an exam or quiz, the make-up
will consist of the final exam or next quiz grade counting twice (once for the make-up grade, and once for
the final, or next quiz grade).
The make-up of the total number of points for your final grade breaks down as follows:
5% Class Attendance/Participation
5% Quizzes
20% Semester Exams (2 exams, each worth 20%)
25% Programming/Homework Assignments
25% Final Exam

Letter Grades
Rather than grading on a competitive, curve-based grading scheme, I use a criterion-based grade scale. Thus,
if every student works sufficiently hard, and earns a letter grade of “A”, then all students will receive “A”s.
Your grade reflects the amount and quality of work that you, the student, accomplish during the semester.
To that end, I do not assign your grade, you earn your grade.
This means, to receive an “A”, you must perform excellent work. Excellent work is that work which
is marked with distinction, going above and beyond that of merely meeting the requirements for an
assignment. Your final grades will be decided based on the following scale:

A B C D E
Final Grade (Excellent) (Good) (Fair) (Poor) (Failure)
Semester Average 90.0–100 80.0–89.9 70.0–79.9 60.0–69.9 0–59.9

Spring 2013 page 3 of 5


CPSC 232 Introduction to Assembler Programming

Class Attendance and Participation Policies


Class attendance is required. As such, attendance will be taken each class. If you are absent for four or
more unexcused absences, you will receive a final grade of E (failure) for the class (regardless
of your average). I expect you to participate constructively in each class. When you fail to come to class,
not only do you miss out on the material for the day, but you disadvantage your fellow students as your
unique perspective is absent from class discussion and problem sessions. Please note: to be considered
“present”, you must be present for the entire class period. If you arrive late, or leave early, you risk
being marked absent for the day (unless prior arrangement has been made with the instructor).

Assignment Lateness Policy


I strongly encourage you to keep up with the pace of the class. You risk putting yourself at a distinct
disadvantage for learning when you get into the habit of submitting work after the due date. However,
I do recognize that unforeseen events happen in life and I will accept late assignments with the following
provisions: For each day late (n being the number of days late), you lose 2n percentage points on your
assignment. For example, if you turn in an assignment one day late, you will lose %21 or 2%, two days late
will cost %22 or %4, three days late will cost %23 or %8. In essence, the penalty for lateness doubles each
day. Late assignments are not accepted after the sixth late day. Weekends and holidays count as late days.

Academic Honesty Policy


All work submitted is to be completed individually (unless indicated as a group assignment), and is to be
the sole product of your own efforts. Group work is to be the sole product of members of the group. Any
perception of anything to the contrary or that violates the spirit of the Student Code of Conduct will be
handled accordingly. This policy provides a range of very unpleasant possible outcomes, should a violation
be suspected. I encourage you to become familiar with this policy. Please refer to the relevant sections of
the Student Code of Conduct from the Student Handbook for more information.

Special Needs
If you need special accommodations or require additional assistance to fully participate and be successful in
this class, I encourage you to contact me as soon as possible. I strongly desire each and every one of my
students to be able to achieve their goals in this class. I will work with you and the Office of Disability
Services to ensure that you have every opportunity to do well.

Ten Tips for Success


1. Come to class and arrive on time
2. Actively participate in class discussion and activities
3. Do the assigned reading (when it is assigned)
4. Do the assigned homework (when it is assigned)
5. Review your notes/assignments daily
6. Ask questions when you are unsure of something
7. Ask questions when you would like to know more about something
8. Accept points of view that are different from your own
9. Respect other members of your class
10. Come see me as soon as you have difficulty with any of the material that we cover in class – do not wait
until it is too late!

Spring 2013 page 4 of 5


Statement of Understanding
CPSC 232 12028
Spring 2013

By signing below, I indicate that I have read and understand all policies and provisions described in
this syllabus. I further indicate that I have familiarized myself with the Student Code of Conduct and that
I will abide by this code.

Printed Name Date

Signature

You might also like