ICS 23/CSE 23 Course Syllabus - Spring, 2009
Contents
Course Summary
- This course focuses on implementation and mathematical analysis of
fundamental data structures and algorithms.
It also covers storage allocation and memory management techniques.
Prerequisites
- ICS 22/ CSE22 with a grade of C or better or Engineering EECS40;
Mathematics 6A or ICS 6A.
- Only one course from ICS 23/CSE23 and ICS H23 may be taken for credit.
Class meetings
- Lecture: TuTh 9:30-10:50AM DBH 1200 (Prof. Dillencourt)
- Attendance is required, in the sense that you are responsible for
any material discussed in lecture even if it does not appear in the
textbook. Also, I reserve the right to give quizzes in class, possibly
unnanounced, which could represent as much as 10% of the grade.
- Lab Section: TuTh 1:00-2:20PM ICS 183 (Mr. Badin)
- In order to be enrolled in ICS 23, you must be enrolled in both a lecture and a lab.
Your lab time is 80 minutes twice a week during which you will be guaranteed
a seat in the lab, even if the lab is busy.
Your TA will be available during this time to answer your questions as you work on your projects.
On some occasions, your TA may gather you
together--as a whole or in groups--to discuss the projects.
Other times, it will simply be open lab time.
You are also welcome to ask questions about lecture material, if you wish.
Lab section attendance or participation is not strictly required, but
it is strongly encouraged.
Instructor
- Professor Michael Dillencourt
Email: dillenco at ics dot uci dot edu,
but see email for questions below
Office: DBH 4086
Office hours: click here
Teaching Assistant
Email for questions
-
All email with questions about course material should be sent to the
following email address:
ics23-questions@ics.uci.edu.
This is an alias for the instructor and the TA. It ensures
that we both see your message and the response. It also gives you better
turnaround time.
- Please also include the following information:
- The string "ICS 23:" at the beginning of the subject line
- Your name
- Your student number
Course Announcements
- Course announcements will be sent via email to all students enrolled
in the class, at their official UCI email address.
-
Click here for the
archive of these messages.
Enrollment issues: registration, adds, drops, etc.
- This course is taught under the auspices of the
UCI Summer Session Program.
To read their enrollment policy,
start here.
To see their calendar, and the deadlines for adds and
drops,
click here.
-
Adds:
I am willing to sign add cards at any time, consistent with
the rules of the Summer Session.
If you are not enrolled in the class, I will not grade or return your work.
-
Drops:
If you do decide to drop the course, you should complete all
the relevant paperwork as soon as possible.
The deadlines imposed by the Summer Session are firm, and if you
miss them there is nothing anyone can do about it.
All course drops must be completed by
the earlier of the following two dates:
-
The deadlines
specified by the UCI Summer Session Program
- The class before the final exam.
Course Books
- The following book is required for the course.
- [GT] Goodrich and Tamassia,
Data Structures and Algorithms in Java, 4th Edition,
John Wiley and Sons, 2004,
ISBN 0-471-46983-1.
There is a
web site
associated with the book.
-
You may also find it useful to purchase a Java reference book.
If you took an introductory programming course using Java (e.g. ICS 21),
you will probably find your textbook from that course to be sufficient
as a reference.
If not, there are many suitable ones out there,
and different styles will appeal to different people,
so I suggest going to a local bookstore and finding one that you feel
comfortable with.
Grading
The grading will be based on the following weights.
- 30% - Midterm
- 30% - Final Exam
- 40% - Labs
Notes on grading
- I reserve the right to give quizzes, either announced or otherwise,
in lecture. These quizzes could constitute as much as 10% of the grade.
Should this happen, the contribution of the midterm, final, and labs will be
decreased proportionately.
- At various times during the quarter a tentative scale and tentative grades
will be announced. These are intended to give you an idea of how you are
doing in the course. The tentative grades are generally straight letter grades.
"Plus" and "minus" grades will be used for the final grades.
- Scale cutoffs are interpreted as rational numbers rather than
integers. For example, if your course average is 82.8 and the cutoff
for the next higher grade is 83, you would receive the lower grade, since
82.8 is less than 83.0. In other words, your course average
is not "rounded up to the next highest integer" or "rounded to the
nearest integer."
Missed Exam Policy
- If you miss an exam and do not have a valid reason, you will receive
a score of 0 on the exam.
- The following policy applies if you miss an exam for a valid reason.
-
There are only two classes of valid reasons for missing an exam:
- An unforeseeable emergency, such as a medical emergency.
In such cases I may ask for documentation.
- An absence from an exam due to a foreseeable circumstance
that I have approved in advance.
-
A work conflict is NOT a valid reason for missing an exam.
The examination times
are announced at the beginning of the quarter, so there is plenty of
time to plan your work schedule.
- If you wait until after the exam to get a foreseeable excuse approved,
and it is not approved,
you will receive a grade of zero (0) on the exam.
- If I accept your reason for missing an exam, at my option I may
either (1) give you a makeup exam or (2) assign your grade on the basis
of the remaining course work that you did not miss.
- If I give a makeup exam, I may give it less weight
than announced on the course web page.
Schedule of Midterms, Final, and Lab Assignment due dates
Reading Assignments
Academic Dishonesty
- Academic dishonesty (cheating) is a serious offense
in the eyes of the instructor, the instructional assistants,
ICS, and the university.
Incidents of academic dishonesty will usually result in your receiving
a grade of F in the course, and additional consequences may occur at the
academic unit or the campus level.
Examples of academic dishonesty include, but are not limited to:
- Copying from others during an examination, communicating exam answers
with other students during an examination,
or using unauthorized materials during an examination.
- Allowing another student to copy off your work during an examination.
- Tampering with an examination after it has been
corrected, then returning it for more credit.
- Forging add/drop/change cards and other enrollment documents,
or altering such a document after signatures have been obtained.
- Intentionally disrupting the educational process in any way.
- For more complete information about academic honesty policies, consult the
UCI Academic Senate Policy on Academic Honesty
and the
Academic Honesty Policy for Information & Computer Science
- Note that here we are only discussing academic dishonesty as it pertains
to examinations. Additional considerations apply with regard to the
lab assignments.
These considerations are discussed in the
class lab manual.
Last modified: June 23, 2009