CSE 2421 – Systems I: Introduction to Low-Level Programming and Computer Organization Course Description: Introduction to computer architecture at machine and assembly language level; pointers and addressing; C programming at machine level; computer organization. Prior Course Number: CSE 360 and CSE 459.21 Prerequisites and Co-requisites: CSE 2122 (230) or 2133 (314) or CSE 2231 (Software 2) or CSE 321 and CSE 2321 (Foundations 1) or Math 2566 or Math 366 Textbooks: REQUIRED: Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron 2nd ed RECOMMENDED: Pointers on C by Kenneth A. Reek Course Goals: To master programming with pointers in C To be competent with application development and debugging in Unix environments To be competent in programming with dynamic data structures in C, and in using C string and I/O features, bit operations, and function pointers To be familiar with overall organization and design of computer systems To be competent with representation and manipulation of information in computer systems To be familiar with machine encoding of instructions, and be competent with a particular real or hypothetical instruction set To be familiar with programming in assembly language To be familiar with Linking (static linking, relocatable object files, symbols and symbol tables, symbol resolution, relocation, loading executable object files) Attendance: “Students are expected to attend class”… “Attendance is strongly encouraged and recommended.” The bottom line is that students are responsible for all material covered, all assignments made, and all due dates announced as specified in class whether or not they are updated online. Discussion Groups: This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the grader, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com. Find our class page at: https://piazza.com/osu/spring2013/cse2421ab/home Grading Policy: Programming Assignments (~5) Homework Assignments (~3) In-Class Assignments Midterm 1 Midterm 2 Final Exam – must pass 15% 12% 8% 15% 20% 30% You must pass the final exam in order to pass the course. A 10 point scale will be the typical letter grade assignment. However, it is at the discretion of the lecturer to determine whether or not any additional curve to the scale will be applied (i.e. to the student’s benefit) possibly including the option to give ~20% of the class an A letter grade (A or A-), ~30% possibly being given a B (B+, B, B-), and ~30% being given C (C+, C, C-). Final grades are at the discretion of the lecturer. You have one week, to ask about any grade concerns you have on an assignment or exam, from the day the papers were handed back in class. After that week deadline, although you may still ask questions (at any time), a grade change will not be on the table even should one be viable. The idea is to be concerned about your grade in a timely manner. In-Class Assignments: These are practice problems based on the current course material. In-Class assignments may be given out at any time and either concluded in the current class period or asked to be returned in a future class period. These assignments will not be posted or otherwise given out electronically. The goal is to (1) encourage students to do active learning during the class period; and (2) keep up with learning the course material. The counting of in-class assignments toward your grade will be determined randomly by the instructor. There will be absolutely no “excused absences” for these assignments; however, you will be allowed to miss 25% of these assignments with no penalty. If you complete more than 75% of the assignments, there is no added grade benefit per se - but it is assumed that class attendance in and of itself is the benefit earned :o) Solutions for these problems will only be provided during class. Homework/Lab Assignments: These are graded assignments based on the grading policy given above. Each lab assignment will be worth the same percent; and each homework assignment will be worth the same percent. The instructions for how these will be turned in are designated on each assignment. There will be a 24 hour late period for each of these assignments, but with a 50% reduction in final grade if you turn in the assignment any time after the original due date (typically 11:59pm on a particular day). If an assignment is more than 24 hours late, the submitted material is not acceptable and a grade of zero will be given. You are allowed to work in pairs for each assignment (both homework and lab). However, you do not have to have a partner; and you do not have to have the same partner for each assignment. If you do have a partner, you are required to have both names on the assignment when it is submitted. If you forget to put either one or both names on the assignment, then a 10% deduction will be administered to the student or students who submitted the work. If you work with a partner, be sure to list approximately how much percentage of the assignment each one has finished; less than 30% means a potential deduction for the corresponding student. It is at the discretion of the instructor to ask a student about any assignment that is submitted. Should there be a concern of any kind about the materials submitted by a student, it is appropriate for the instructor to request an explanation of the submitted/assigned material. The result of this discussion may result in a determination that the student is unaware of how the solutions were determined thus making the submission of the assignment unacceptable. Midterm/Final exams: The approximate date for the midterms is on the detailed syllabus. Any change to the midterm date will be announced in class at least one week prior to the exam. The final exam is designated by the university and is listed on the detailed syllabus. It is not viable to request a change to your final exam day/time in order to make your end of semester plans more convenient. You must pass the final exam to pass the class. Typically, a passing grade on a 10-point scale is designated to be 60% however the actual value of what a passing final exam score will be is at the discretion of the instructor (but will be no higher than the normal 10-point scale of 60%). Make-up Policy: At times, there are extraordinary circumstances that may require a make-up or a later due date than designated for an assignment. Notification must be made and confirmed prior to the assignment due date by e-mail, phone or in person. Leaving a voice mail or e-mail, however, is not enough. You must have confirmation by the instructor to be considered for a make-up. In a case where a person is unable to make notification in advance (ex. documented medical emergency), notification must be made as soon as possible. It is the policy of this course that: o Only documented emergencies will be given the option for a make-up. o Documentation will always be required to obtain an excused absence for any exam or lab/hw assignment. o Make-ups will not be given to students who miss assignments due to “over sleeping” or “not knowing of the assignment”, etc. o Make-ups will not be given for in-class assignments since there is a 20% miss-without-penalty option. Fairness to Students: We strive to treat students with dignity and fairness and to be particularly sensitive to the diversity that exists within the student body. Students with disabilities who request help will be given reasonable accommodation with the assistance of the University Office of Disability Services (http://www.ods.ohio-state.edu/). Academic Misconduct: In accordance with Faculty Rule 3335-31-02, all instances of alleged academic misconduct will be reported to the Department Chairperson and the Committee on Academic Misconduct (COAM). Alleged misconduct cases will be resolved via COAM’s hearing processes as described in the University’s Code of Student Conduct (http://studentaffairs.osu.edu/csc/). As defined in the University’s Code of Student Conduct, academic misconduct is “any activity which tends to compromise the academic integrity of the institution or subvert the educational process” (http://oaa.osu.edu/coam.html). Students who violate the University’s policies regarding academic misconduct are stealing academic credit and skewing the grading process against students who are honestly participating in the course. Their actions diminish the value of an academic degree when they falsely represent themselves as competent in a subject matter to their instructor, their peers, and in the workplace. Academic misconduct includes, but is not limited to: giving or receiving information or assistance during an exam allowing a student to copy the work you have done for a graded assignment submitting plagiarized work for academic requirements changing graded material and turning it back in to be re-graded for a higher score obtaining or providing current term exam information - in verbal, paper or electronic form – from/to another student taking the course (no matter which section) prior to taking the exam yourself on the same information Please be sure to familiarize yourself with the OSU academic misconduct rules and policies which include additional examples and details defining academic misconduct: http://oaa.osu.edu/coamfaqs.html