Department of Computer Sciences
University of Texas at Austin

CS 313E - Elements of Software Design (Fall 2003)
Room: ECJ 1.204
Time: MWF 9:00 - 10:00 AM

Instructor: Shyamal Mitra
Office: TAY 5.116
Office Hours: MW 2:30 - 4:00 PM or by appointment

Required Text: Big Java: Programming and Practice by Cay Horstmann, 2002. Publisher: John Wiley and Sons, Inc.

Scope of the Course:
This is the second course in the elements of Software series. I assume that you know Java at the level taught in CS 303E. The emphasis of this course will be on software development using object-oriented methodology. We will learn how to analyze and design software. We will learn how to create reusable software components and to compose programs from already available components. We will learn about some basic data structures and algorithms and how to match the data structures and algorithms to problems. We will test and evaluate programs for their functionality and their performance.

We will be following the text quite closely for the section on object-oriented software development. Supplemental notes on data structures and algorithms will be available on the web. Attendance to the lectures is mandatory.

Assignments:
There will be homework assignments that will consist of problems from the book or those handed out in class or posted on the web. There will be programming assignments that you can complete in the CS Lab. You may choose to use your own computer to work on these assignments. If you work on your home computer, you will have to download and install the Java Software Development Kit from Sun Microsystems. You will also want an IDE like BlueJ, JBuilder, or JCreator. Late homework or programming assignments will not be accepted.

Tests:
There will be occasional pop quizzes in class. There will be two tests and a final examination. The tentative dates for the tests are October 1 and November 5. There will be a comprehensive final during the final examination period. Only under exceptional circumstances will make up tests be arranged.

Grades:
Your grade for the class will be determined from the pop quizzes and homework assignments (10%), programming assignments (40%), Test 1 (15%), Test 2 (15%), and Final (20%). There are no extra credit projects to improve your grade. Questions concerning test grades should be given to me in writing along with your test within the next class day that the test is handed back. Questions regarding the homework or programming assignments should be first discussed with the TA. If you still have a problem give me a written statement within one week of the class that the assignment was returned. No questions about grading will be considered after these deadlines.

General Policies:
I strongly encourage you to discuss the course material with your class mates. But the assignments that you will turn in must be your own work. Turning in an assignment that is not entirely your own is cheating and that will result in action commensurate with the policies stated in the University's Manual on Academic Honesty.

If you are absent from class or examination for the observance of a religious holy day you may turn in in your assignment or take the examination on an alternate date provided you have given me written notice fourteen days prior to the class absence. For religious holy days that fall within the first two weeks of class notice must be given on the first class day.

Students with disabilities who need special accomodations should contact the Services for Students with Disabilities (SSD) Office (471-6259 or 471-4641 TTY).