Course Syllabus: 4007-217 - Prof. Floeser

advertisement
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
Download