Texts:
- Java Software Solutions: foundations of program design
2nd edition update) by J Lewis and W Loftus;
- Java Structures by D Bailey.
Course Content:
Algorithm design and refinement; extensive programming in Java;
loop and selection control; recursion; arrays; object-oriented design;
linked lists, stacks, queues, binary trees, elementary searching and sorting.
This course covers the equivalent of two semesters
of undergraduate programming, data structures and algorithms,
and is intended (along with CSC 7100)
to prepare students with degrees in other disciplines
for graduate study in computing sciences.
Since this is a condensed course, you can expect it to move quite fast
and to be very demanding of your time.
The course is roughly divided into two parts.
The first part, up to the midterm, will cover the fundamentals of
algorithm design and
programming in Java.
For this we will use Chapters 1-8 of the first text,
Java Software Solutions.
The second part of the course will be on data structures and algorithms,
using the second text, Java Structures,
(selected topics from Chapters 4-7, 10, 12).
Programming Projects:
There will be 10 - 12 programming projects in
this course. These assignments are crucial in building an
understanding of the subject. They can be done on the University's
computer labs or in your own computer but must be submitted according
to the instructions given.
Late projects will not be accepted, unless
prior arrangements have been made with the instructor (permission to
hand in a project late may be granted only in cases of real hardship
and prior to the project's due date).
Grading:
The final grades for the course will be computed as
follows:
Programming Projects 50%
Midterm (Feb 25) 25%
Final (May 6) 25%
Academic Integrity:
Working together with other students
can be a great way to learn.
In this class you are allowed (even encouraged) to discuss your
programming assignments
with your peers, but the actual programming must be done individually.
Of course, you should never simply copy or allow someone to copy your
assignments. You must be able to explain in detail any work that you
hand in.
It is your responsibility to be familiar with
Villanova's Code of Academic Integrity.
Good luck and have fun!!!
M A Papalaskari
(mailto:map@villanova.edu)