COURSE INTRODUCTION Spring 2013 SYSTEM SOFTWARE COP 3404 12:00 PM TO 1:40 PM T R 10/1327 INSTRUCTOR: Dr. Roger Eggen EMAIL: ree@unf.edu OFFICE: 15/3223 OFFICE HOURS: 10:45 AM to 11:45 PM T R 1:45 PM to 3:45 PM T R other times by appointment PHONE: 620-1326 (my office) 620-2985 (front office) TEXT: (required) System Software (An Introduction to Systems Programming) Beck - Addison Wesley 0-201-42300-6 PREREQUISITE: COP 3503 - Computer Science II Note: The bookstore will/should have copies of the text, however, you might try one of the following online services to obtain a copy. pricescan.com efollet.com Bibliofind.com bookfinder.com WWW.BARGAINBOOKS.COM ecammpus.com bigwords.com textbooks.com varsitybooks.com barnesandnoble.com amazon.com www.booksamillion.com www.clbooks.com www.CampusBooks4Less.com www.half.com bookstore@informit.com www.StudentMarket.com www.safarix.com CheapestTextbooks.com. Note: I am not endorsing nor have I tried all of these sources. CATALOG DESCRIPTION: Computer Structure, machine language, instruction execution, addressing techniques. System and utility programs, programming techniques. Assemblers and macroprocessors. Course Purpose: The purpose of this course is to provide background in fundamental types of system software, particularly assemblers, loaders, macro processors, and linkage editors. More complex examples of system software (such as compilers and operating systems) will be discussed in less detail. The course will employ a simplified instructional computer (SIC and SIC/XE) to illustrate machine level system software requirements. A working simulator for SIC is provided via the UNF server, a multiprocessor (osprey). A major objective of the course will be for students to provide a working (cross) assembler for SIC and part of SIC/XE. The SIC assembler will be constructed using your favorite programming language. Early exercises will require hand assembling SIC (or SIC/XE) code. An operating assembler will also be used to process assembly programs for execution on the simulator. Student assemblers will be expected to produce SIC machine code ready to be loaded into the SIC simulator (via a supplied loader) to verify function. All student program submissions will conform to course documentation requirements. COURSE TOPICS: The course will cover as much of the text sequentially as possible. SIGNIFICANT DATES: For holidays, drop/add dates, etc. see http://www.unf.edu/acadaffairs/Faculty_Calendar_of_Important_Dates_2012-13.aspx 1/8 Tue. Classes begin 2/14 Thr. Test 1 <---------------------- Significant Event 3/14 Thr. Test 2 <---------------------- Significant Event 3/18-23 Spring Break 3/29 Fri. last day to withdraw from a course, no refund 4/11 Thr. Paper Review Due <------------ Significant Event 4/25 Thr. Final Exam 11 AM - 12:50 PM <- Significant Event Reminder: Please read the Satisfactory Progress Policy at http://www.unf.edu/cocse/cis/CIShtml/CIScourseRepeat.html to review the "one repeat" rule for all CIS courses. Please read the community-base transformational learning information http://www.unf.edu/ccec/soc/cbtl.pdf also http://www.unf.edu/acadaffairs/IE/IE/QEPProposals/QEP-Full-Proposal-Preparation-Guidelines.pdf The University of North Florida has been accredited by the Commission on Colleges of the Southern Association of Colleges and Schools, commonly referred to as SACS, since 1974. In order to have its accreditation continued without interruption, the university must by 2009 demonstrate compliance with various SACS core requirements, one of which mandates the development of an acceptable Quality Enhancement Plan. This is Core Requirement 2.12, as articulated in the Resource Manual for the Principles of Accreditation: Foundations for Quality Enhancement. GRADE DETERMINATION: Your grade will be determined by: 1) 3 tests (given on Feb. 14, Mar. 14, and Apr. 25) All tests will be comprehensive, but will emphasize the most recent material. You are responsible for all material given in class and covered in the text for each test. It is strongly suggested that you take the exam on the day given. If you must take it late, a new exam will be created. If you know that you must be absent the day of the exam, make arrangements to take it early. 2) Weekly quizzes will be given each Thursday. Quizzes cannot be made up if missed. I will consider 1 quiz as bonus to allow for a quiz that you must miss. 3) Paper review. One paper review of your choice relating to the topic will be required. Guide lines are included at the end of this document. 4) Many Programming Projects will be given. This is a heavy programming course so adjust your schedule accordingly. You should submit your programming projects in the following form: 1. Source code listing. 2. Your test data and results. 3. Use the "turnin" program to submit projects. 4. Thorough documentation consisting of: a. a cover page section showing program title and number, course number and title, student name, instructor name, date due, date submitted. b. a brief description of algorithms in English and/or pseudocode including a hierarchy chart. c. how to execute your program, files consumed, files generated. Essentially a user manual. All this should be submitted electronically as described in the project specification. Your project will be graded on the following criteria: pts. area 20 - 1. Working code. * ** 5 - 2. Documentation: clear, thorough, design, each procedure, including a hierarchy diagram. * If the program won't compile, you will receive 0 for the project. ** The last project will have Working Code worth 30 instead of 20. Programs should be submitted only electronically containing all necessary material shar'd into a package, but not placed into any subdirectory structure. You are responsible for any discussion related to projects that may occur in class. These project modifications may not appear in an updated project description. Programs that are identical beyond coincidence will all be given 0 for the project and may result in failure of the course and expulsion from the University. You are responsible for the security of your program, do not let your printouts or diskettes etc. lie around. Set the appropriate file permissions on your UNIX files. I have files of past projects as well, your project will be compared to them, do your own work. I will use MOSS to detect similar programs. All projects are due at 11:59 PM, on the day scheduled. One and two day late projects will be accepted with a 10% and 20% penalty of the earned score, respectively. Projects more than two days late will not be accepted. You must receive a passing grade on 66% (2/3) of the projects and you must attempt (show some form of effort) on all of the projects in order to pass the class. You will receive all assignments and handouts electronically through the public directory. ( /var/public/cop3601/ree ) You should check this directory and/or your electronic mail regularly, since I will send notices of new material added to the directory. This directory is accessible directly via UNIX (cd /var/public/cop3601/ree) or via the web through www.unf.edu/~ree and follow the links. There is also a black board site for this course. Class attendance is required and roll will be taken via the weekly quizzes. Attendance may impact your final grade. You are not permitted to use cell phones in class, no texting or any other activity. If your phone rings and you need to answer it, you should excuse yourself from class. Any questions on grading of tests, quizzes, or projects must be presented within 1 week after material is returned. Questions asked later than 1 week will not be considered. Students with disabilities who seek reasonable accommodations in the classroom or other aspects of performing their coursework must first register with the UNF Disability Resource Center (DRC) located in Building 10, Room 1201.A DRC staff members work with students to obtain required documentation of disability and to identify appropriate accommodations as required by applicable disability laws including the Americans with Disabilities Act (ADA). After receiving all necessary documentation, the DRC staff determines whether a student qualifies for services with the DRC and if so, the accommodations the student will be provided.  DRC staff then prepares a letter for the student to provide faculty advising them of approved accommodations. For further information, contact the DRC by phone (904) 620-2769, email (kwebb@unf.edu), or visit the DRC website (http://www.unf.edu/dept/disabled-services). Military and veteran students may need both physical and academic accommodations and may contact the DRC to find further information. Military and veteran students who return from combat exposure may be utilizing the post 9/11 GI bill to continue postsecondary education goals. Contact Military and Veterans Resource Center by phone (904) 620-2655 or e-mail mvrc@unf.edu GRADE COMPUTATION: Your average will be computed as a straight percentage. That is, points earned divided by points possible. There will be no distinction between test points, quiz points, or program points. You should keep track of your score allowing you to know your current standing in the class. I will have your current averages with me at each class meeting. You are welcome to check your average after class. A typical semester will have 3 tests at 100 points each, 8 quizzes at 12 points each, 6 programs at 20 points, one paper review for 10 points for a total of 526 points. This is a sample, your specific class may vary slightly from this example. EXAMPLE GRADE CHART: (you should create one of these and keep track of your standing in the class) Type Possible My Score Quiz 1 12 10 Quiz 2 12 12 Prog 1 20 18 Quiz 3 12 10 Prog 2 20 20 Test 1 100 95 ------ --- --- Total 176 165 Average: 165 / 176 * 100 = 93.75 = A GRADE SCALE: A 90 - 100% B+ 85 - 89% B 80 - 84% C+ 75 - 79% C 70 - 74% D 60 - 69% F 0 - 59% Minus grades will be assigned at my discretion. Note: Computer Accounts are private and the material contained on the computer must be used only be the owner. One person, the owner, is permitted to use an account. Computer security is an important issue and should be regarded as such. Be sure to set your password and permissions to directories and files. Violation of files and misuse of computer accounts can result in failure of the class, failure of the project, cancellation of accounts or expulsion from the University. Journal Reviews You will be required to review (on paper) a journal article on any of the topics related to this course. You should endeavor to avoid those areas with which you are familiar to broaden your knowledge base with new concepts. A brief time will be allowed at the end of class for discussion of selected articles if possible. You are to apply the following guidelines regarding the written requirement: 1. Two pages maximum, typed and double-spaced. Name, date and course title in the upper right hand corner of the first page. Title of paper centered two lines below this heading. 12 point times roman font should be used. 1" margins. On 8.5" by 11" white paper. 2. Complete copy of the article. This review and article will not be returned, so make a copy for yourselves. Current articles are expected. 3. Correct spelling, grammar, style and appearance. 4. Accurate content. 5. The first two paragraphs should present the major ideas of the article. The last paragraph should present your reflections about the article, i.e., agree, disagree, a workable idea, an old concept, etc. 6. The reviews much be from articles from acceptable journals as suggested below: Journal of the ACM IEEE Computer Communications of the ACM Computer Transactions on Programming Languages and Systems Dr. Dobbs Journal Linux Journal Current appropriate Web articles are acceptable This certainly is not an exhaustive list, but is representative of the quality desired.