Department of
Computer Science
Instructor: Dr. Leszek (LEH-shek) Lilien
CEAS B-249, phone:
(269) 276-3116
Email:
llilien@cs.wmich.edu – please use for urgent matters only
Notes:
1) Only e-mail
coming from a WMU account (ending with “wmich.edu”) will be read.
2) Files submitted as
attachments will not be read
unless they are scanned with up-to-date anti-viral software, and the message including
them contains the following statement:
I have scanned the enclosed file(s) with <name of software, its
version>, which was last updated on <date>.
Lectures: TR
11:30 am – 12:45 pm, CEAS C-224
Office Hours: T 7:30 pm – 8:30 pm and R 3:30 pm – 5:30 pm, CEAS
B-249
IMPORTANT
For more course-related information
(including lab and TA info) please see Ms. Huma Kamal’s Web page at: http://homepages.wmich.edu/~z0kamal/CS1120F06.htm
>>> Lecture Slides and
Announcements<<<
Chapter
9 – Object-Oriented Programming: Inheritance (last updated on 9/17)
Chapter
10 – Object-Oriented Programming: Polymorphism (last updated on 10/1)
Selected Subsections
(on Sequential-Access Files only) of Chapter
17 – Files and Streams (last updated on 10/22)
Exam 1 will be held on 10/12/06 (during the regular class period).
Exam
topics are <here>.
Exam 1 Master (last updated on
10/24/06)
Chapter 11
– Exception Handling (last updated on 10/23)
Selected Subsections
(on Recursion) of Chapter 6 – Methods
(last updated on 10/31)
Chapter 15 –
Strings, Characters and Regular Expressions (last updated on 11/1)
Exam
2 - held on 11/9/06 (during the regular class period).
Exam
will cover the following Chapters/Sections:
-
App. D (Visual Studio .NET Debugger)
-
Chapter 17 (Files & Streams) - only sections 17.1-17.3 and 17.5-17.6
- Chapter
11 (Exception Handling)
-
Chapter 6 - only recursion - sections 6.14-6.16
-
Chapter 15 (Strings, Characters & Regular Expressions)
Exam 2 Master (last updated on
11/16/06)
Chapter 23 –
Data Structures (last
updated on 11/21)
Algorithm
Analysis and Big-Oh Notation [not in the textbook] - courtesy of Prof. Ajay Gupta
(last updated on 11/26)
Sample PMT: the problem and annotated code (solution).
Most of the following text is courtesy of Prof. Ajay
Gupta and Prof. James Yang
This is the standard Computer Science II course using the
C# computer language. The emphasis is on designing and programming
object-oriented computer solutions to problems, as well as on the data
structures used for this purpose. An introduction to the analysis of algorithms
is made. Students must register for both a lecture section and a laboratory
section.
By Courses
CS1110
– Computer Science I or equivalent with a grade of C or better (prerequisite);
Math1220 or Math 2000 (corequisite)
By Topic
Basic concepts of high-level language programming –
conditional structures; looping structures; arrays; program logic – to solve problems; Basics of object-oriented
programming - be able to create and use elementary objects; C# language for
both procedural and introductory object-oriented programming; Basics of the
software life cycle; Validating quality of software produced; Introductory
sorting and searching algorithms; Algorithms for elementary problem solutions;
Documenting programs effectively and efficiently.
·Lean
about each phase in software life cycle.
·Understand the concepts of abstract data types.
·Understand the concepts of recursion, inheritance, and
polymorphism.
·Learn basic mathematical techniques for analyzing
algorithm complexity.
·Learn common data structures
·Student will be able to write well-designed and
well-documented programs.
·Student will be able to use recursive solutions to
solve complex applications.
·Student will be able to use abstract data types and
hide implementation from users.
·Student will know the data structures such as linked
list, stack, queue, tree, table, graph
and the operations performed on these data structures.
·Student will know how to derive new classes by
inheritance and polymorphism.
·Student will know different sorting algorithms and be
able to analyze their efficiencies.
C# How to Program
H.M. Deitel, P.J. Deitel, J.A. Listfield, T.R. Nieto, C.H. Yaeger and
M.Zlatkina
Prentice Hall, 2002
1440 pp
ISBN: 0130622214
During the term there will be two in-class exams and a
final examination. Laboratory assignments will be given in the regularly
scheduled laboratory. Pop-quizzes may be
given at anytime in lab or lecture without prior notification. Your grade will
be computed from your performance on these components using the following
weights:
Exam I 13%
Exam II 13%
Labs 40%
Final Exam 24%
Pop-quizzes 10%
PMT 0%
The following grading scale
will be used:
A – 90;
BA – 85; B – 80; CB – 75; C – 70; DC – 65; D –60.
If
you miss an exam (Exam I, II or Final Exam), the decision as to whether or not
it is made up and how it is made up will be made on an individual basis. To be
excused there must be significant circumstances beyond the student’s control. Generally this will require documentation,
such as a doctor’s note in the case of illness.
Normally,
if the absence from an exam is excused, the average of your other exams will be
used to replace it. If it is unexcused,
70% of the average of other exams will be used.
At
most one missed exam, excused or unexcused, will be made up in this way. You
must inform the instructor before the exam if there are circumstances beyond
your control that will cause missing an exam.
Students taking this course are required to register
for a lab section. Lab grades are based on student performance on
programming assignments and quizzes. Additionally, the Programming Skills
Mastery Test (PMT) is given in lab.
Lab assignments will be given on a regularly scheduled
basis. Many of these assignments will need to be worked on outside of the
regular scheduled labs. Each assignment will have a due date/time.
For each day an assignment is late, 5% of the total possible points for the
assignment will be deducted. If an assignment is more than 20 days late,
it is no longer worth any points. Weekends and holidays are all counted
when calculating lateness. No assignments may be submitted after 11:59 PM
on Tuesday, December 5, 2006. By this time all work should be complete and
submitted.
There will be regular quizzes given in the lab.
Additionally, pop-quizzes may be given at anytime in
the labs or lectures without prior notification. If you miss a quiz
for any reason, you will receive a 0 on it.
During the last lab session of the semester, students
will be given the Programming Skills Mastery Test (PMT). The test will
consist of a short programming problem. Students must program the
solution in an essentially complete and correct form in the allotted
time. This problem must be solved within the allotted time to earn a
passing grade in the course. Students that fail the PMT on their
first attempt will be allowed to take it one additional time with a different
problem.
Producing competent programmers is a primary goal of
this course, and therefore a minimum performance in lab is required for
students to pass the course.
·You must pass the lab with at least 60% of the total
possible lab points in order to pass the course regardless of exam scores.
·You should strive to complete all assignments.
In order to pass the laboratory, you may have at most two assignments
incomplete. Even if an assignment is so late that the credit would be 0,
it can still satisfy the completeness policy if it is completed and submitted.
·You must pass the PMT to pass the course.
You
are expected to stay alert and pay attention to the directions/announcements in
the class. Cellphones, PDAs, and other electronic devices should NOT be used
during the lecture and should be turned-off. If available, please do bring your
laptop to the class.
Web-surfing
of material not related to this course is NOT permitted during the class. You
may surf the web only when specifically told to do so. In order to maintain the
integrity of the classroom and if I feel it is distracting you or others, I may
ask you to turn-off your laptop.
Please
note that the incomplete grade - I -
is intended for the student who has missed a relatively small portion of work
due to circumstances beyond his/her control.
In general, performance on work done must be at a level of C or better
in order to qualify for an incomplete. An
I grade will not be given to replace
an otherwise low or failing grade in the class.
The
following statement has been approved and distributed by the Western Michigan
University Faculty Senate:
You are
responsible for making yourself aware of and understanding the policies and
procedures in the Undergraduate (pp. 274-276) [Graduate (pp. 25-27)] Catalog
that pertain to Academic Honesty. These policies include cheating, fabrication,
falsification and forgery, multiple submission, plagiarism, complicity and
computer misuse. If there is reason to believe you have been involved in
academic dishonesty, you will be referred to the Office of Student Conduct. You
will be given the opportunity to review the charge(s). If you believe you are
not responsible, you will have the opportunity for a hearing. You should
consult with the instructor if you are uncertain about an issue of academic
honesty prior to the submission of an assignment or test.
Unless otherwise told, you may not bring any aids to exams.
Submission of another person’s work in part or whole
is not permitted. Learning can certainly occur with discussion of class
material and assignments with other students, and we will be doing considerable
collaborative activity, but at all times take care that you don’t represent the
work of another as your own.
·If you are copying another’s work in part or whole,
either by hand or electronically, you are going too far.
·If two or more people are working so closely together
that the outcomes, particularly on significant portions of computer programs,
are essentially line-by-line the same in logical structure, they are going too
far.
·You should not give your completed work to someone
else or accept another’s completed work to “review or look at” in either
hardcopy or electronic form. This too
easily facilitates copying.
Easy availability of information, material, source
codes, lecture notes, etc., on the Internet may make it possible to find solutions
to your assignments on the Internet or elsewhere. It is okay to refer to those,
understand them and use them to enhance your solutions, generate your own
ideas, etc. However, you must give proper and full credit to original authors
of the work, if you include their ideas and/or solutions. Failing to do so is
part of academic and professional dishonesty. It will not be tolerated in this
class. Do not give in to temptations.
If
you are found responsible for violation of academic honesty in the course, you
will receive a penalty up to and including an E grade in the class.
Additional
disciplinary actions can be taken by the Department, the College, and the
University.