Name: Kay A. Robbins
Web Page: http://vip.cs.utsa.edu/personnel/krobbins.html
Office Hours: MF 11:00 am - noon, W 7:00 - 8 pm and by appointment
MWF 10 am - 11 am in room 3.03.20 BB
Course Web Page:
Undergraduate operating systems
Data-structures level knowledge of object-oriented programming
If you have not met these prerequisites, you must see me.
This course focuses on the design and implementation of systems using object-oriented technology. You will be programming in Java.
Design Patterns Explained: A New Perspective on Object-Oriented Design by Shalloway and Trott
Core Java 2 Volume I: Fundamentals by Horstmann and Cornell
Core Java 2 Volume II: Advanced Features by Horstmann and Cornell
You must do the reading prior to coming to class and be prepared to discuss the material or ask questions. Teamwork skills and their role in your grade are determined below.
Rarely is software developed by a single person. As a software developer, you will most likely be working with a team of people. To succeed in such an environment, you must become a "team player".
The words "team player" often have negative connotations for software developers, conjuring pictures of someone who goes along with the status quo and suppresses creativity. One of the goals of this course is to develop the positive aspects of teamwork. These skills include honesty, giving appropriate credit to other members of your team, and focusing your skills and creativity on making the project succeed. No matter how good you are, the project will not succeed unless all parts succeed. Weak technical team members or members with poor attitudes can cause a project to fail.
The assignments for this course MUST be your own work. However, I would like class members to support each other in the course. The final project will be a class project, and weak class members will doom the project to failure. The course grading system is designed so that you cannot get an A without teamwork points.
Teamwork and Participation Points:
You need to keep a notebook recording interactions that you have had with members of the class or with other people who help you (include dates). I will look at this notebook at the end of the semester.
For each laboratory, you are required to send me a SEPARATE email (to email@example.com) for each person that you have interacted with during the time covered by the laboratory. The email should have a subject line that contains ONLY "Lab X:person's name". The email should summarize the interaction, benefits, etc. These emails should be written independently of the other people.
You must also turn in a self-evaluation (due at the final). This evaluation should be one to two pages single spaced (use a word processor). You should explain your strengths and weaknesses in the course, what aspects of your work need improvement, and what you contributed to overall class success.
Tentative Course Outline and Schedule:
|Topic||Lecture Time||Supporting Lab|
|Object-oriented basics||5 Lectures||Lab 1, 2|
|Intro to UML and patterns||3 Lectures||Lab 3|
|User interfaces||3 Lectures||Lab 4|
|Use cases||3 Lectures||Lab 5|
|Advanced Programming Topics||7 Lectures||Lab 6, 7|
|Major Project Foundation||6 Lectures||Project|
|Major Project Design Discussion||6 Lectures||Project|
|Additional Topics and Project Wrap-up||5 Lectures||Project|