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. dick_lang@vancouver.wsu.edu http://lang.encs.vancouver.wsu.edu/ Office Hours 1:30PM to 3:30PM on Tuesdays and Thursdays and by email appointment Office: VECS 301J Phone: (360) 546-9632
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, selfreferential data structures. 1-3 ABET 1 I-1 WSU 2 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 2 WSU s Seven Goals of the Baccalaureate
Recommended Textbook Assembly Language Step-by-step: Programming with Linux; Jeff Duntemann, 3 rd 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, 2 nd Edition, 2008, ISBN 0-393-97950-4. or Programming in C; Stephen G. Kochan, 3 rd 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 d. Communicating with C programs
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. 3) You may connect your own USB devices (keyboard, mouse, flash drive, etc.), however, be certain to restore the computer to its original configuration and remove your device(s) when you are done.
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. Plagiarism or cheating will not be tolerated. University policy will adhered to in all such cases. There is a difference between collaboration and plagiarism. Plagiarism is the act of using another s work without giving them credit for it. Collaboration is the exchange of ideas, the debate of issues and the examination of readings among each other that enables you to arrive at your own independent thoughts and program designs. Collaboration is encouraged, however plagiarism or cheating will result in a failing grade for the exam or assignment in question and will be reported to the Office of Student Affairs. Homework and programming assignments are expected to be entirely the product of the students own work with the following exceptions: 1) if the assignment is made to a team of students or 2) the instructor provides code or other materials for use in the assignment. You are free to work with others in interpreting assignments, practicing with tools, and inspecting code. However, the lab assignments and exams are to be done individually. Submissions that appear to be duplicates will trigger an investigation. Program code must be synthesized by you and must not come from your friends, the internet or other sources, unless the assignment so specifies. Grades of 0 and other measures will ensue if these guidelines are violated. You are welcome to utilize the web as a learning tool, however, you are expected to perform your own work on assignments. Copying code from the web and inserting it in your assignment, in whole or in part, as your own work is
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/publicsafety/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.
Reasonable accommodations for disabilities are available for students who have a documented disability. All accommodations must be requested and approved through the WSUV Access Center located room 160 in the classroom building, (360) 546-9238. Notify the course instructor during the first two weeks of class of any accommodations needed for the course. Late notification may cause the requested accommodations to be unavailable.