University at
Department of Computer Science & Engineering
201
Syllabus
Please read this sheet carefully, and save it for future
reference.
Instructor
Name: Adrienne
Decker
Office: 130
Phone: (716)
645-3180 x 161
Email:
adrienne@cse.buffalo.edu
Web: http://www.cse.buffalo.edu/faculty/adrienne
Office hours: To be
determined and by appointment.
Course Information
Credit hours: 4
Course Website: http://www.cse.buffalo.edu/faculty/adrienne/SP2006/cse115
Section A - Monday,
Wednesday, Friday 12:00 12:50 112 Norton
Section B - Monday,
Wednesday, Friday 2:00 2:50 222
NSC
Recitation Times:
A1 Tuesday 2:00 3:50 21 Baldy
A3 Thursday 4:00 5:50 21 Baldy
A4 Friday 8:00 9:50 21 Baldy
B1 Tuesday 10:00 11:50 21 Baldy
B2 Wednesday 4:00 5:50 21 Baldy
B4 Friday 12:00 1:50 21 Baldy
Course Description
Provides the
fundamentals of the field to computer science and computer engineering majors,
introducing students to algorithm design and implementation in a modern,
high-level programming language. Emphasizes problem solving by abstraction.
Topics include object-oriented design using a formal modeling language;
fundamental object-oriented principles such as classes, objects, interfaces,
inheritance and polymorphism; simple event-driven programming; data types;
variables; expressions; basic imperative programming techniques, including
assignment, input/output, subprograms, parameters, sequencing, selection and
iteration; the use of aggregate data structures, such as arrays or more general
collections; simple design patterns.
Schedule of Topics
The following is a
tentative schedule of topics. A more
detailed schedule is maintained on the course website and should be checked
often for updates.
2 weeks Objects
and relationships 1
week Programming with graphics
2 weeks Methods,
parameters, and encapsulation 2 weeks
Arithmetic, selection, iteration
3 weeks
Inheritance and polymorphism 2
weeks Collections and iterators
Course Objectives
At the end of this
course, students will be able to independently create a program that uses
object-oriented design and its key concepts of encapsulation, inheritance, and
polymorphism. Students will also be able
to create a program that has a graphical user interface (GUI) and components
that the user of the program can interact with (menus, buttons, etc). Students will also be able to identify where
and when to use constructs such as selection and iteration in their programs
and be able to create and use various types of collections along with iterators
in their programs.
Prerequisites
There are no
prerequisites for this course. You do
not need previous programming experience to take this course.
Textbooks and
Materials
The required
textbooks for this course are:
·
Andries
van Dam's chapters on Java and OOP (referred to as The Brown lecture notes).
[Available at Great Lakes Graphics & Printing, located in the UB Commons.]
·
Cay
Horstmann. 2004. Object-Oriented Design and Patterns, second
edition, John Wiley & Sons, Inc. (ISBN: 0-471-74487-5)
·
Deborah S. Ray & Eric J. Ray. 2003. UNIX: Visual
Quick Start Guide (Second Edition), Addison Wesley. (ISBN: 0-321-17010-5)
Though you may find the following books useful, they are not required and have not been ordered for the bookstore:
o
Cay S. Horstmann & Gary Cornell. 2005.
Core Java 2 Volume I Fundamentals, seventh edition, Prentice Hall (ISBN: 0-13-148202-5)
Additional reading
material may be assigned during the course, and will be announced in lecture.
Computing Resources
You will be provided
with a CSE undergraduate computing account. You may use the undergraduate lab
facilities in Baldy. These facilities are available for use as listed on the
course website. They are on card-access
- use your UB card to open the door. For your own safety, and to protect the
equipment in the lab, do not open or hold the door open in order to allow other
people to gain entry to the lab. All students who are authorized to use the lab
will be granted card access.
The name of the
server that you will be connecting to in the lab will be
yeager.cse.buffalo.edu. You have the
ability to connect to yeager remotely from other sites, on or off campus.
You are expected to
become proficient at using the machines in the lab, the Unix system, the Java
compiler as integrated with Eclipse IDE, and whatever other software
development tools the course requires you to use. It is your responsibility to
ensure that any programs you write for this course compile using the Java
compilers installed on the department's machines.
You are also
required to read mail sent to your CSE e-mail account. Any e-mail communication
that you send regarding this course must be sent from your CSE e-mail account
or your UB e-mail account. Under no circumstances will e-mail from non-UB
accounts be acknowledged or answered. You must include an informative subject
line in all e-mail, and include your full name in any e-mail correspondence.
All e-mail that we
send in reply to your e-mail will be sent to the address from which you sent
your e-mail. Our feedback on materials you hand in electronically will be sent
to your CSE e-mail account only. Since you may request re-grades of work only
within a set period from the time that the feedback was provided to you, it is
in your best interest to read your CSE e-mail account on a daily basis.
Course Organization
The course has both
a lecture component and a lab (recitation) component. Each component plays a
role in helping you achieve the objectives of the course. If you do not
participate fully in both you should not expect to do well in the course.
Lectures
The conceptual and
theoretical course content will be delivered primarily in the lectures,
complemented by readings from the text books. You must review readings prior to
attending a lecture, and you are expected to review the readings again, along
with any notes you took, after the lecture.
Some of the topics
will be difficult. It is therefore absolutely essential that you ask questions
whenever something is said which you do not understand.
You are expected to
attend all lectures. If you are unable to attend a lecture because of sickness
or similar reasons, make sure you get the notes from a classmate. If you are
out of class for an extended period of time because of sickness, notify your
instructor as soon as possible, and see your instructor immediately upon your
return in order to determine how to catch up. If you have missed a significant
portion of the semester due to illness, it is recommended that you resign from
the course.
Labs
The labs are an
integral part of the course. In each lab section, the TAs will cover material
pertinent to the current assignment. The
lab sections are held in the computer lab in Baldy 21 and you will have the
opportunity to work on your assignments during recitation and ask questions of
the TA about your work. Attendance in
lab will therefore be critical for your ability to complete the programming
projects.
The labs may also
review and extend lecture material and are also an excellent forum for asking
more individual questions about the course material than can typically be
addressed in lecture. Some material needed to do the programming projects will
be covered only in lab. Attendance in
lab is expected and will be taken every week.
Labs do not meet in
the first week of classes.
Course evaluation
The following
indicates the grade breakdown which I will use in assigning grades in the
course. I reserve the right to make small adjustments to the breakdown if I
feel it is necessary.
Exam component (50%
of final course grade)
There will be two
midterm examinations and one final examination at the end of the term. The
first midterm exam will be held on Wednesday, February 22nd. The
second midterm exam will be held on Wednesday, April 5th. The final examination will be given on a date
to be specified by the University. Do not make travel plans for times during
the examination period until the final examination schedule has been posted.
If you miss an
examination because of sickness or similar reasons, visit a physician and
obtain a note detailing the period during which you were medically incapable of
taking the exam. Notify your instructor immediately via e-mail or telephone (voice
mail) if you are going to miss an exam, before the exam takes place unless
medically impossible. See your instructor as soon as you return to class.
If you miss an
examination without a valid excuse, you will receive a zero grade for that
examination.
No make-up
examination will be available without a valid excuse. You must bring a valid form of picture ID
with you to each examination (a UB Card will suffice).
There are two
options for calculating your score for the exam component of the course. Under
the first option the first midterm exam counts for 12.5% of your grade, the
second midterm exam counts for 12.5% of your grade, while the final exam counts
for 25%.
Under the second
option the final exam counts for 50% of your grade. The option which gives you
the highest score in the course will be used automatically.
You must attempt
both midterm exams in order for the final-exam only option to be available to
you. If you do not write both midterm
exams, you cannot make use of the final-exam only option.
The motivation for
having two grading options available is to ensure that you are not penalized if
you had a rough start in the course, but managed to do really well on the final
exam. If you do poorly on the midterm exams, you can still do well in the
course by demonstrating that you have learned the material on the final exam.
Of course, if you do poorly on the midterm exams, this means you are playing
without a safety net.
The following table
summarizes the grading of the exam component of the course:
|
Option #1 |
Option #2 |
Midterm exam 1 |
12.5% |
|
Midterm exam 2 |
12.5% |
|
Final Exam (Cumulative) |
25% |
50% |
A necessary but not
sufficient condition for receiving a passing grade in the course is having a
passing exam component grade.
Essay component (10%
of final course grade)
Whether you decide to enter the workforce or go on to
graduate school after graduation, communication is an essential skill in
computer science and computer engineering.
Teamwork, technical writing, and presentations to management, customers
and peers are all essential skills to the future computer scientist or computer
engineer. To start building good
communication skills you are required to write essays this semester. More details about topics and required format
will be given during the semester.
Late submissions of
essays will not be accepted under any circumstances. You must have a passing average on the essay
component of the course in order to pass the class.
Project component
(40% of final course grade)
There will be
regular programming projects. The purpose of these is to reinforce and deepen
your understanding of the broader concepts discussed in class through
application of those concepts to concrete problems. The programming projects
are designed to give you hands-on experience analyzing problems, developing
solutions to them, and implementing these solutions in Java. The programming
projects also serve to give you feedback on your understanding of the material.
I expect that we
will have eight programming projects, weighted as described in the following
table.
Lab |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Weight |
2% |
3% |
4% |
5% |
5% |
6% |
6% |
9% |
It is your
responsibility to ensure that any programs you write for this course compile
using the Java compilers installed on the department's machines. Submissions
which do not compile will not be graded.
Early policy for
programming project submissions
Any programming
project submission which occurs before the due date is considered early, and
will have a 2% bonus (of the maximum score obtainable) added per full day early
(24 hours), up to a maximum of 8%.
Late policy for
programming project submissions
Any programming
project submission which occurs after the due date is considered late, and will
have a 50% penalty (of the maximum score obtainable) imposed per day (24
hours), or portion thereof, late. A submission more than one day late (i.e. two
or more days late) will therefore be awarded no points.
Regrading
If you have a
question about the grading of any piece of work, first consult with the
teaching assistant who graded your work. If you cannot resolve your questions
with the teaching assistant, you should consult with the instructor of the
course.
Any questions about
the grading of a piece of work must be raised within one week of the date that
the work was returned by the teaching assistant or the instructor. In other
words, if you do not pick up your work in a timely fashion, you may forfeit
your right to question the grading of your work.
Attendance
Attendance is
required and will be taken at all class meetings (lectures and labs). Failure to attend class meetings could have a
negative impact on your grade. You will
be allowed 3 missed lectures and 1 missed recitation free during the semester
(ie without penalty to your grade).
After that, each lecture or lab you miss will incur a 2 point deduction
on your overall course average.
Incomplete (I)
grades
We will follow the
UB Undergraduate Catalog Statement on Incomplete Grades, found in the
Undergraduate Catalog.
Generally,
incomplete (I) grades are not given. However, very rarely, circumstances
truly beyond a student's control prevents him or her from completing work in
the course. In such cases the instructor can give a grade of I. The student
will be given instructions and a deadline for completing the work, usually no
more than 30 days past the end of the semester. University and department
policy dictate that I grades can be given only if the following conditions
are met:
o
An Incomplete will only be given for missing a
small part of the course.
o
An Incomplete will only be given when the
student misses work due to circumstances beyond his/her control.
o
An Incomplete will only be given when the
student is passing the course except for the missed material.
o
An Incomplete is to be made up with the original
course instructor within the time specified by the appropriate University
regulation (see appropriate document above), and usually within the following
semester.
o
An Incomplete will not be given to allow the
student to informally retake the entire course, and have that grade count as
the grade of the original course.
Incompletes can not
be given as a shelter from poor grades. It is your responsibility to make a
timely resignation from the course if you are doing poorly for any reason. The
last day to resign the course is Friday, March 10th (or Friday,
March 31st if you are a first-semester student at UB).
Letter grades
The following table
indicates the number to letter grade mapping I will use to assign final grades
at the end of the course. The Grade points column is included for your
convenience only, and is not official information. The official mapping can be
found on in the Undergraduate Catalog.
Percentage
score |
Letter
grade |
Grade
points |
90-100 |
A |
4.0 |
85-89 |
A- |
3.67 |
80-84 |
B+ |
3.33 |
75-79 |
B |
3.0 |
70-74 |
B- |
2.67 |
65-69 |
C+ |
2.33 |
60-64 |
C |
2.0 |
55-59 |
C- |
1.67 |
50-54 |
D |
1.0 |
0-49 |
F |
0.0 |
General Notes
If you don't
understand something covered in class, ask about it right away. The only silly
question is the one which is not asked. If you get a poor mark on an
assignment, quiz, or exam, find out why right away. Don't wait a month before
asking. The instructor and teaching assistants are available to answer your
questions. Don't be afraid to ask questions, or to approach the instructor or
T.A. in class, during office hours, or through e-mail.
This course is
intended to be hard work, but it is also intended to be fun. Play with the
computer, and have fun with the neat and elegant programming ideas covered in
this course. We think computer science is interesting and exciting, and we want
to convince you of this. Work hard, but have fun!
Disabilities
If you have a
diagnosed disability (physical, learning, or psychological) that will make it
difficult for you to carry out the course work as outlined, or that requires
accommodations such as recruiting note-takers, readers, or extended time on
exams or assignments, you must consult with the Office of Disability Services
(25 Capen Hall, Tel: 645-2608, TTY: 645-2616, Fax: 645-3116,
http://www.student-affairs.buffalo.edu/ods/).
You must advise your
instructor during the first two weeks of the course so that we may review
possible arrangements for reasonable accommodations.
Your attention is called
to the
Distractions in the
Classroom - Behavioral Expectations
The following is the
text of a policy adopted by the Faculty Senate on 5/2/2000. You are expected to
know and adhere to this policy.
OBSTRUCTION OR DISRUPTION IN THE CLASSROOM
To prevent and
respond to distracting behavior faculty should clarify standards for the
conduct of class, either in the syllabus, or by referencing the expectations
cited in the Student Conduct Regulations. Classroom "etiquette"
expectations should include:
o
Attending classes and paying attention. Do not
ask an instructor in class to go over material you missed by skipping a class
or not concentrating.
o
Not coming to
class late or leaving early. If you must enter a class late, do so quietly and
do not disrupt the class by walking between the class and the instructor. Do
not leave class unless it is an absolute necessity.
o
Not talking with
other classmates while the instructor or another student is speaking.
o
If you have a
question or a comment, please raise your hand, rather than starting a
conversation about it with your neighbor.
o
Showing respect
and concern for others by not monopolizing class discussion. Allow others time
to give their input and ask questions. Do not stray from the topic of class
discussion.
o
Not eating and
drinking during class time.
o
Turning off the
electronics: cell phones, pagers, and beeper watches.
o
Avoiding audible
and visible signs of restlessness. These are both rude and disruptive to the
rest of the class.
o
Focusing on class
material during class time. Sleeping, talking to others, doing work for another
class, reading the newspaper, checking email, and exploring the internet are
unacceptable and can be disruptive.
o
Not packing
bookbags or backpacks to leave until the instructor has dismissed class.
Academic Integrity
Source: http://www.cse.buffalo.edu/academics-academic
integrity.shtml
The academic degrees
and the research findings produced by our Department are worth no more than the
integrity of the process by which they are gained. If we do not maintain
reliably high standards of ethics and integrity in our work and our
relationships, we have nothing of value to offer one another or to offer the
larger community outside this Department, whether potential employers or fellow
scholars.
For this reason, the
principles of Academic Integrity have priority over every other consideration
in every aspect of our departmental life, and we will defend these principles
vigorously. It is essential that every student be fully aware of these
principles, what the procedures are by which possible violations are
investigated and adjudicated, and what the punishments for these violations
are. Wherever they are suspected, potential violations will be investigated and
determinations of fact sought. In short, breaches of Academic Integrity will
not be tolerated.
Departmental
Statement on Academic Integrity in Coding Assignments and Projects
The following
statement further describes the specific application of these general
principles to a common context in the CSE Department environment, the
production of source code for project and homework assignments. It should be
thoroughly understood before undertaking any cooperative activities or using
any other sources in such contexts.
All academic work
must be your own. Plagiarism, defined as copying or receiving materials from a
source or sources and submitting this material as one's own without
acknowledging the particular debts to the source (quotations, paraphrases,
basic ideas), or otherwise representing the work of another as one's own, is
never allowed. Collaboration, usually evidenced by unjustifiable similarity, is
never permitted in individual assignments. Any submitted academic work may be
subject to screening by software programs designed to detect evidence of
plagiarism or collaboration.
It is your
responsibility to maintain the security of your computer accounts and your
written work. Do not share passwords with anyone, nor write your password down
where it may be seen by others. Do not change permissions to allow others to
read your course directories and _les. Do not walk away from a workstation
without logging out. These are your responsibilities. In groups that
collaborate inappropriately, it may be impossible to determine who has offered
work to others in the group, who has received work, and who may have
inadvertently made their work available to the others by failure to maintain
adequate personal security In such cases, all will be held equally liable.
These policies and
interpretations may be augmented by individual instructors for their courses.
Always check the handouts and web pages of your course and section for additional
guidelines.
Departmental and
Course Policy on Violations of Academic Integrity
If, after following
the procedures required by the University for investigation of suspected
breaches of academic integrity, a student is found guilty, the policy of the
department of Computer Science & Engineering is that the student minimally
receive a grade of F in the course.
University at
Department of Computer Science & Engineering
I,
____________________________________________(PRINT name), acknowledge that I
have read and understood the syllabus for this course, CSE 115 Introduction to
Computer Science for Majors I.
I also acknowledge that I
understand the definition of academic integrity as outlined in the syllabus,
and that I will minimally receive a grade of F in the course if I am found to
have breached academic integrity.
I also understand that I am
required to have successfully completed all of the listed prerequisites for this
course with a minimum grade of C-. I understand that if I do not meet the
prerequisites that I may be dropped from the course by the department.
Signature:
________________________________________________ Date: _____________