Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology Course Syllabus 4002-217 Programming for Information Technology I Spring (023) Instructor: Michael Floeser Phone: 475-4991 Office: building 70 room 2319 Office Hours: See outside office door or http://www.it.rit.edu/~mjf/ for current hours, these may have to change over the quarter. E-mail: mailto:mjf@it.rit.edu This syllabus is subject to change throughout the course. Notification and appropriate adjustments to these requirements will be given in a timely manner! Course Description: This is the first course in the introductory programming sequence required for all Information Technology students. Topics include elementary data types, arithmetic and logical operations, control structures and error handling, methods and functions, and an introduction to object-oriented programming design and implementation. Emphasis is also placed on the development of problem-solving skills. Out-of-class programming projects are required. Prerequisites: None, other than a willingness to succeed and 1020 hours per week availability to study, practice and work on assignments depending upon any past programming experience and how well the course material is understood. Course Objectives: This course will provide students with an introduction to the foundation concepts in object-oriented programming and the fundamental programming skills necessary to develop introductory-level computer 217 Syllabus Page 1 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology applications. Emphasis is placed on program design methodologies and problem solving using commonly available development tools. At the end of this course, a student should be able to write simple programs that demonstrate an understanding of the following: Basic programming concepts, including: Language syntax and grammar Data types, data value creation and management Expressions and assignments Programming control structures - sequence, selection, and iteration Run-time error detection, and basic exception-handling techniques Usage of common development tools Compiler Editor In addition, by the end of this course, the student should be able to implement programs defined by simple to moderate problem domains with an emphasis on: Being comfortable coding within a development environment Understanding common debugging techniques Being aware of the difference between applications and webbased programs Being familiar with basic input/output functionality Having an introductory knowledge of classes and methods, including utility classes Having a conceptual understanding of problem decomposition and refinement Textbook: “Introduction to JAVA Programming”, third edition (the red and green cover) by Y. Daniel Liang, published by Prentice-Hall, Inc., 2001. ISBN 0-13-031997-X Saving work-in-progress: Each student MUST bring an IBM formatted 3 ½’’ diskette or 100MB Zip disk (IBM formatted) to every 217 Syllabus Page 2 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology class session to save work-in-progress. The student’s name and section number must be clearly marked on the disk. The instructors WILL NOT provide these disks! Assignments: Lecture Preps: A lecture preparation sheet will be provided in each class session (either in person or downloaded from the course FirstClass conference) to be handed-in at the next session (except for exam and practicum days). These preparations cover topics that will appear in the next class. They will be collected and logged-in but will receive no grade credit. Each student MUST complete 80% of these lecture preparations. In other words, if there are 14 total lecture prep assignments given during the quarter, each student must complete and hand-in a minimum of 12 of those preps. Also, a bona fide attempt at answering the majority of the questions correctly is required. Turning in a sheet with half the questions unanswered will receive no credit toward completion! See the course schedule for the exact number of these assignments. Missing class, and therefore these preparations, will count against the 80% minimum completion requirement. These preparations cannot be made up unless an emergency condition prevented class attendance. Any student not meeting the 80% lecture prep completion requirement will automatically fail this course, regardless of the grade status for the remainder of the course! In-Class Exercises: A certain amount of in-class work will be required during most class sessions. These assignments will be collected and logged-in but will receive no grade credit. Each student MUST complete 80% of these exercise sets (same rules as above in the lecture prep section). Normally these exercises will be completed fully during the class session. Sometimes, extensions may be given such that they will 217 Syllabus Page 3 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology become due at the beginning of the next class session (in this case, paper printouts of the required code shall be attached to the lecture-prep sheet and handed in too). To count toward the minimum completion requirement they must be answered fully in addition to any other homework assignment due on the same day. Missing class, and therefore these exercises, will count against the 80% minimum completion requirement. These exercises cannot be made up unless an emergency condition prevented class attendance. Any student not meeting the 80% in-class exercise completion requirement will automatically fail this course, regardless of the grade status for the remainder of the course! Homework Assignments: Programming assignments will be assigned as an integral part of this course. This work is to be done outside of the usual class hours. In general, these programs will be more complicated and larger than the in-class exercises. Homework assignments will be due according to the schedule (see below), generally no later than the beginning of the class session (some instructors may require submission of the necessary code to our FirstClass dropboxes on or before midnight (AM) of the due date)when the assignment is due, and may not be submitted late unless a documented emergency condition prevents you from doing so. All homework assignments taken together will be worth a percentage of 15% of the total course grade. In-Class Practicums: There will be three in-class practicums given during the quarter to assess the student’s programming skills during live programming sessions in front of the course instructor(s). Notes, textbooks and calculators will not be allowed during these times (unless special accommodations on record permit them). Missing a practicum will result in a grade of zero unless the student contacts the instructor at least 24 hours 217 Syllabus Page 4 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology in advance of that practicum. If student's reason is valid (documentation may be required), the student will be allowed to take a different make-up practicum at a later time. The student must achieve a cumulative average grade of 75% for all three practicums together as one requirement to pass the course. Poor performance on one won’t be a disaster if improvement is present on the remaining two practicums. Less than a 75% average score will result in course failure regardless of the performance on the other dimensions of this course. Missing a practicum completely (unexcused, of course) will yield a 66% average (even if the other two grades are 100%) thereby causing an automatic course failure regardless of the grade status for the remainder of the course. The average grade for all three practicums will be assigned a percentage of the 60% course weighting for this requirement. Midterm/Final Exams: A midterm examination will be given during a regular class session near the middle of the quarter. This exam will be based on the material in the units of the preceding weeks and involve writing and analyzing some code. The exam is closed book, closed notes. No calculators (unless disability accommodations permit) will be allowed. This exam counts as a percentage of 10% of the final course grade. A final examination, to be scheduled by the registrar’s office, will be given during finals week at the end of the quarter. It will not be intentionally cumulative and will focus on the last half of the quarter’s material. It will, of course, require the programming and conceptual skills from the beginning of the quarter! This exam is closed book, closed notes. No calculators (unless disability accommodations permit) will be allowed. This exam counts as a percentage of 15% of the final course grade. 217 Syllabus Page 5 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology Missing either or both exams will result in a grade of zero for that exam unless the student contacts the instructor at least 24 hours in advance of that exam. If student's reason is valid (documentation may be required), the student will be allowed to take a different make-up midterm exam at a later time. There will be no makeup or rescheduling of the final exam during the quarter. A bona fide emergency (documented) at this time will result in an incomplete grade for the course. A make-up exam will then be scheduled during the first week of the next quarter at which time the incomplete grade will be changed based upon the performance on the makeup and the previous quarter’s work. Grading Policies: The weighting for the different parts of the course, explained above, is summarized in the table below: Component Lecture Preps In-Class Exercises Homework Projects In-Class Practicum (3 total) Midterm Exam Final Exam Percentage 0% (80% completed) 0% (80% completed) 15% 60% 10% 15% The following scale is used for grading: Average 90.0% to 100% 80.0% to 89.9% 70.0% to 79.9% 60.0% to 69.9% Less than 60% Grade A B C D F 217 Syllabus Page 6 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology Academic Dishonesty: Please read the attached page entitled “Department of Information Technology Academic Dishonesty Policy”. Unless otherwise stated in the assignment requirements, all work done outside of class and homework assignments are individual projects. Any group efforts will be treated as collusion and will be handled as stated in the department’s policy. Students are allowed, on a case-by-case basis, to assist one-another during class as the instructor and time constraints permit. Course Grade Appealing: A student can always question grades with his/her instructor. If a mistake was made in the calculation of the final grade and a lettergrade difference results, a change-of-grade form will be issued to correct the error. When appealing a grade, instructors generally do not “make deals” or provide additional opportunities to submit makeup work in response to “what can I do to improve my grade?, etc.” (the appropriate time to “improve” grades is during the actual course!). If a student is convinced that he/she has somehow been treated unfairly and the issue cannot be resolved with the instructor he/she may file a formal grade appeal. Up to the next two quarters after the end of the current course is given to appeal the grade officially. Please see the IT office personnel for guidance on the appeals procedure. Office Hours: Office hours with instructors provide the opportunity to get questions answered or for additional help with programming problems. These visits do not need to be scheduled in advance. Please ask the instructor about additional scheduled appointments if more help is desired! Additional Tutoring: Programming tutors, employed by the Information Technology Department, are available in the I.T. labs. Their schedules are posted in various places around the department. Any help received from tutors is just that; “help” means HELP, not being given the solution to the problem! When an assignment is submitted the student will be held accountable for the answers. In other words, if the student 217 Syllabus Page 7 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology can’t explain in detail what is contained in an answer that student will be in a poor position, possibly being accused of cheating by the instructor! When in doubt one can always see the instructor for any help he/she may need. Additional help with basic math skills can be had in the Math Tutoring Center in the College of Science (building 08). Appointments may be necessary. 217 Syllabus Page 8 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology Course Schedule (subject to change with adequate notice) Week Day Subject/Assignment 1 1 Overview Java Environment Homework #1 assigned Basic Syntax 2 2 3 6 OOP Concepts Simple Program Homework #2 assigned Variables Prog. Environment Statements Assignments Operators Basic Console Input Homework #3 assigned Decisions 7 Advanced Decisions 4 3 4 5 8 5 9 Homework #4 assigned Debug Techniques Coding Style Review MIDTERM EXAM Assignments Due Reading/Liang pp. 1-15 NONE pp. 15-25 (applet section optional) pp.29-34 Lecture Prep 2 In-class Ex 2 Lecture Prep 3 In-class Ex 3 Homework #1 due Lecture Prep 4 In-class Ex 4 Lecture Prep 5 In-class Ex 5 Homework #2 due pp. 35-38 & 42-43 pp. 38-56 pp. 61-68 & 70 (no switch statement) Lecture Prep 6 In-class Ex 6 pp. 44-45 & 68-69 Lecture Prep 7 In-class Ex 7 Homework #3 due Lecture Prep 8 In-class Ex 8 pp. 51-56 (review all above!) Our Course Coding Standard NO NEW READING Homework #4 due –yes, on the day of the exam! Homework #5 assigned 6 10 In-Class PRACTICUM #1 NO NEW READING 11 Repetitive Behavior Homework #6 assigned pp. 70-84 12 Methods pp. 97-107 & 217 Syllabus Page 9 of 12 Programming for Information Technology I Lecture Prep 11 In-class ex 11 Homework #5 due Lecture Prep 12 © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology Week 7 Day 13 14 8 9 10 Finals Week 15 Subject/Assignment OOP, Attributes, Mutators, and Accessors Homework #7 assigned Scope of variables Common Problems REVIEW Reading/Liang 110-117 pp. 137-145 & 147-157 pp. 157-160 (review all above) Assignments Due In-class Ex 12 Lecture Prep 13 In-class Ex 13 Homework #6 due Lecture Prep 14 In-class Ex 14 In-Class PRACTICUM #2 NO NEW READING Homework #7 due 16 Homework #8 assigned Utility classes & Constructors pp. 145-147 & 175-185 Lecture Prep 16 In-class Ex 16 17 Arrays pp. 239-254 18 Homework #9 assigned More Arrays w/ Methods pp. 257-260 Lecture Prep 17 In-class Ex 17 Homework #8 due Lecture Prep 18 In-class Ex 18 19 20 REVIEW 21 FINAL EXAM In-Class PRACTICUM #3 Review all above NO MORE READING! Homework #9 due Per this schedule, there are 14 lecture preps and 14 in-class exercises due. This means a minimum of 12 of the lecture preps and 12 of the in-class exercises must be completed and submitted on time to avoid automatic course failure! 217 Syllabus Page 10 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology RIT’s Academic Dishonesty Policy Plagiarism1, and other academic actions contrary to RIT’s code of conduct and the IT Academic Dishonesty Policy will be addressed in accordance with these policies. Department of Information Technology ACADEMIC DISHONESTY POLICY The following statement is the Policy on Academic Dishonesty for the Department of Information Technology: The Department of Information Technology does not condone any form of academic dishonesty. Any act of improperly representing another person’s work as one’s own (or allowing someone else to represent your work as their own) is construed as an act of academic dishonesty. These acts include, but are not limited to, plagiarism in any form or use of information and materials not authorized by the instructor during an examination or for any assignment. If a faculty member judges a student to be guilty of any form of academic dishonesty, the student will receive a FAILING GRADE FOR THE COURSE. Academic dishonesty involving the abuse of RIT computing facilities may result in the pursuit of more severe action. If the student believes the action by the instructor to be incorrect or the penalty too severe, the faculty member will arrange to meet jointly with the student and with the faculty member’s immediate supervisor. If the matter cannot be resolved at this level, an appeal may be made to the Academic Conduct Committee of the college in which the course is offered. If the faculty member or the faculty member’s immediate supervisor feels that the alleged misconduct warrants more severe action than failure in the course, the case may be referred to the Academic Conduct Committee. The Academic Conduct Committee can recommend further action to the dean of the college including academic suspension or dismissal from the Institute. The following definitions will be used to clarify and explain unacceptable conduct. This is not intended to be an exhaustive list of specific actions but a reasonable description to guide one’s actions. CHEATING includes knowingly using, buying, stealing, transporting or soliciting in whole or parts the contents of an administered/unadministered test, test key, homework solution, paper, project, software project or computer program, or any other assignment. It also includes using, accessing, altering, or gaining entry to information held in a computer account or disk owned by another. COLLUSION means the unauthorized collaboration with another person in preparing written work or computer work (including electronic media) offered for credit. Final work submitted by a student must be substantially the work of that student. Collaboration on an assignment is expressly forbidden unless it is explicitly designated as a group project. 217 Syllabus Page 11 of 12 Programming for Information Technology I © IT/RIT Version 5.3 Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Technology When there is any doubt, a student should consult the instructor (NOT ANOTHER STUDENT) as to whether some action is considered cheating and/or collusion. Whenever there is any question as to whether a particular action is considered academic dishonesty, the instructor should be consulted prior to commencing that action. You are encouraged to review the following web sites which give information on writing skills and plagiarism: http://webster.commnet.edu/mla/plagiarism.shtml http://www.hamilton.edu/academic/Resource/WC/AvoidingPlagiarism.html http://www.rhodes.edu/writingcenter/group_b/plagiarism.html http://dir.yahoo.com/Social_Science/Communications/Writing/Plagiarism/ 217 Syllabus Page 12 of 12 Programming for Information Technology I © IT/RIT Version 5.3