CS 261
C and Assembly Language
Programming
Course Syllabus
Spring 2016
Lecture: Tuesdays and Thursdays 9:10AM to 10:25 in VSCI 255 3 Semester Hours
Instructor: Dick Lang, Ph.D. [email protected] http://lang.encs.vancouver.wsu.edu/
Office Hours
1:30PM to 3:30PM on Tuesdays and Thursdays and by email appointment
Catalog Description
C language concepts, professional practices and C programming, module linkage; assembly language concepts and programming.
Prerequisite Courses
CS 260 – Computer Organization
Prerequisite Topics
o Proficiency using an imperative programming language o Knowledge of computer instruction set architecture o Experience with computer data representation
o Knowledge of computer memory and I/O architecture
Measured Course Outcomes
Students taking this course will:
1. Course Outcome Topics Contributes to the assessment of Assessed by
1
Design, code and debug programs in the C programming language,
implementing and using dynamic, self-referential data structures.
1-3 ABET 1 I-1 WSU2 7 Programming Assignments 3, 4 and 5
2 Make effective use of a debugger to find
errors in programs. 1c ABET I-4 WSU 7 Instructor observation of students techniques 3
Design, code and debug a program, using assembly language, which performs an iterative or recursive
algorithm, such as sorting or searching.
4 ABET K-3 WSU 7 Final programming assignment 4
Design, code and debug an assembly language program which implements the function calling conventions of a high or mid-level language, such as C a simple program, including code tracing in a debugger.
4d ABET I-1 WSU 7
Programming assignment
1 Accreditation Board for Engineering and Technology / Computing Accreditation Commission
Recommended Textbook
Assembly Language Step-by-step: Programming with Linux; Jeff Duntemann, 3rd Edition, Wiley and Sons, 2009, ISBN 0470497025.
Reference Material
There is no required text covering the C language. Generally speaking, lecture materials and online resources should be a sufficient source of reference information for C. However, if you feel the need for a text, one of the following should be suitable:
C Programming; K. N. King, 2nd Edition, 2008, ISBN 0-393-97950-4. or
Programming in C; Stephen G. Kochan, 3rd Edition, Sams, 2004, ISBN 0-672-32666-3
Major Topics Covered in the Course
1. Compilation and Module Linkage concepts a. Using the compiler
b. Library linkage c. debugging
2. C syntax and semantics
a. Data storage, data types, and variables b. Operators, expressions and statements c. Control structures and control flow design d. Control flow testing and test documentation e. Functions, returned values and parameter lists f. Arrays, character arrays and strings
3. The C standard library
a. Standard library character and string functions b. File input/output
4. Assembly Language
a. Registers and operations
b. Memory addressing and access c. Subprograms and stacks
Grading Factors
Grades will be based on the following factors:
factor weight
Midterm Exam 30%
Final Exam or Programming Project 30%
Laboratory & Homework Assignments 35%
Discretionary 5%
Course grades (and grades on exams and assignments) will be assigned based on the following scale:
A ≥ 94% A- ≥90% & <94% B+ ≥87% & <90% B ≥83% & <87% B- ≥80% & <83% C+ ≥77% & <80% C ≥73% & <77% C- ≥70% & <73% D+ ≥65% & <70% D ≥60% & <65% F < 60%
ENCS Laboratory Computers & Network
Students enrolled in ENCS courses may establish and use an account on the ENCS Laboratory Network. To do so, go to any ENCS laboratory computer and, with the computer displaying the ENCS kiosk window, select the “Request ENCS Student Account” button and follow the instructions. To establish an account, students will need their WSU ID number and access to their preferred email address as listed with WSU’s myWSU site. Students are expected to read and adhere to the “Terms and Conditions” statement, failure to do so can result in the loss of account privileges, or other consequences as set forth in the Student Conduct Code.
In particular, note the rules below. Unless specifically instructed to do otherwise by ENCS faculty or staff:
1) Do not unplug, move or disturb the (blue) network cables. DO NOT attempt to connect your personal equipment or devices to the wired ENCS network. You are welcome to use the ENCS wireless access facilities. 2) Do not leave laboratory computers powered off, do not disturb or
unplug the power cord. You may leave the computers booted into any operating system.
4) Leave your laboratory workspace neat and clean, and restore the computing equipment to the position and configuration in which you found it.
Once you have established an ENCS network account, you can find additional information about ENCS network resources, and how to access and use them, at the following website: ENCS Info Site
Course Policies
• Attendance is not required, however discretionary points may be affected by frequent absences. You are nevertheless responsible for the material presented in class.
• Homework assignments are generally due at the beginning of class on the day it is due. The instructor may give other dates/times for the submission of assignments. Late homework will not be accepted unless prior arrangements have been made with the instructor.
• Makeup exams will not be given without prior authorization and/or written documentation that the student was unable to participate. Unexcused missed exams result in a grade of zero for that exam. Excused absences from exams include personal emergencies and work-related obligations, however confirmation is necessary.
prohibited. For additional information about WSU’s Academic Integrity policies and procedures please look over the information at http://studentaffairs.vancouver.wsu.edu/student-affairs/student-conduct. • Discretionary points will be based on your conduct and participation in
class. As this class endeavors to teach professional skills, it is reasonable to ask that students act professionally and treat each other (and the instructor) with respect. The subject matter of this course deserves discussion, I encourage you to offer your ideas and thoughts to the class and to question the material presented.
• WSU has made an Emergency Notification system available to faculty, students and staff. Please register on “myWSU” with emergency contact information (cell, email, text, etc). You may have already been prompted to complete emergency contact information when registering for classes. In the event of a building evacuation, a map at each classroom entrance shows the evacuation point for each building. Please refer to it. Finally, in case of campus-wide class cancellation or shutdown, please check local broadcast media, or the WSU Vancouver web site. Individual class cancellations may be made at the discretion of the instructor. Each individual is expected to make the best decision for their own personal circumstances, taking safety into account.
You are encouraged to become familiar with certain WSUV information regarding safety and security. The WSUV Campus Safety Plan can be found at http://www.vancouver.wsu.edu/safety-plan, the campus police have information posted at http://admin.vancouver.wsu.edu/public-safety/campus-police, and everyone should be prepared to check out the WSUV Alerts site at http://www.vancouver.wsu.edu/alerts.
Classroom and campus safety are of paramount importance at Washington State University Vancouver, and are the shared responsibility of the entire campus population. WSU urges students to follow the “Alert,
Assess, Act” protocol for all types of emergencies and the “Run, Hide, Fight” response for an active shooter incident. Remain ALERT (through direct observation or emergency notification), ASSESS your specific situation, and ACT in the most appropriate way to assure your own safety (and the safety of others if you are able).
Please sign up for emergency alerts on your account at myWSU. For more information on this subject, campus safety, and related topics, please view the FBI’s Run, Hide, Fight video and visit the http://www.vancouver.wsu.edu/safety-plan.