Course Description
Instructor: Dr. Leon Deligiannidis (ldeligia AT cs.uga.edu)
Course Title: SOFT DEVELOPMENT.
Prerequisite: CSCI 1301-1301L. (Strictly enforced)
4-Lecture hours per week.
Software development techniques in an object oriented computer language.
An intermediate programming course emphasizing systems methods, top down design,
testing, modularity, and structured techniques.
Applications from areas of numeric and non numeric processing and data structures.
Offered fall and spring semesters every year.
Main Topics
- Introduction to Unix
- Object Oriented Programming and Design
- Data Encapsulation
- Inheritance
- Polymorphism
- Method Overriding and overloading
- Constructor Chaining
- Variable Shadowing
- Visibility Modifiers
- Exceptions
- Recursion
- Stream Input and output
- Linked Structures
- Introduction to performance analysis
- Graphical User Interfaces (GUI) (if time permits)
- Algorithms
- Binary Search
- Merge Sort
- QuickSort
- Binary Heaps
- Binary Search Trees
- Other
- Threads (if time permits)
- Other topics depending on time
Class Information
- Language of instruction: Sun Java
- Platform: Unix (Solaris)
- Labs: There are no formal labs for this class (unlike 1301).
All days are lecture. On some days, there may be special activities
done in class that may substitute for lecture.
- Course supplies
- Text: "Data Structures and Problem Solving using Java" 2nd edition. Mark Allen Weiss.
- Other recommendations: I also recommend that you keep the JavaLive CD from 1301.
- Unix Text: "Unix: The Textbook" Sarwar, Loretsky and Sarwar (or any other Unix book)
- Other: All programs will be compiled and run in a Unix environment using Sun's Java compilers.
This class does not support PC's. We expect all work to be done in a Unix environment.
If you do write your projects on a PC, then it is your responsibility to one,
transfer the programs over to your Unix account; two, make sure they work on your Unix account.
Also for this class we will be using "electronic submission" to submit our projects.
Therefore, disks are not needed.
- Handouts for the course: I will make every effort to provide power-point handouts of my lecture
notes available online at least by the day before the lecture. It is up to you to print these if you want.
These are my lecture notes - not intended to replace notes taken by you in class.
Class Policies
- Attendance: You are expected to attend each lecture. If too many people start missing lectures,
I will begin taking attendance. Whether you are in class are not, you are responsible for all
material taught and assigned in class.
- On budgeting your time: Falling behind is the worst thing you can do, because it will be nearly
impossible to catch up.
Start programming assignments early, and do the "reading" for each subject in a timely manner;
don't wait until the last minute.
- Grading: Your numerical grade will be calculated as follows:
- Two exams each 10%
- Unannounced quizzes: 10%
- Assignments: 40%
- Final: 30%
- Makeup policy: Makeup exams will be given only under severely extenuating circumstances.
- Due dates for assignments:
- Programs and homework's are due at by 11:59:00 p.m. on the day they are due unless otherwise stated.
- Late assignments get a 10% penalty per day (an assignment can be at most 3 days late)
- Academic integrity: Please read the Departmental policy on academic integrity.
Unless otherwise stated, programming assignments, lab assignments, and homework
are to be strictly your own work.
Of course, you can talk over general principles and concepts about an assignment with others,
but sharing of printed or electronic media is not acceptable.
Guard you own work. Do not write code for others, and don't have others write code for you.
Just as the work on an essay in English has to be your own, assignments in CSCI 1302 have to be
your own work unless specifically stated otherwise.
If suspected of academic dishonesty, I will report the incident to the appropriate authorities.
- Miscellaneous: You are responsible for all announcements that are made in class as well as those
posted to the notice board found at the class site.
Make sure to visit the class site daily. Being absent is not an excuse.
Also, do not expect the web site to reflect everything we discuss in class - it is only an aid,
a guide and a means of giving out information and/or instructions.
|