CSS305 - Programming Practicum
Syllabus
Fall, 2003
Syllabus Index
General Information
Professor:
George
Mobus |
Phone: |
692-5894 |
email: |
gmobus@u.washington.edu |
Office: |
Pinkerton 217 |
Hours: |
MW - 10:00 to 12:00, or by appoint. |
Class: |
Time: |
TTh - 10:30 - 12:45 pm |
Location: |
BB 107 |
Textbook: |
There is no required textbook. Several reference guides
will be given in class.
|
|
What to expect from the course
This is a practicum in computer programming. You will be doing a large software
project in order to increase your facility with designing programs using the Java
language. You will be expected to design, code, debug and test a sequence of
incremental developments of this large program. By doing the development in manageable
increments you will be able to build a substantial project on your own. The purpose
of this approach is to provide you with a perspective of "
programming-in-the-large". Once you have such a perspective you will
be in a much better position to participate in a team-based development project,
understanding the "big picture".
Learning Objectives
The objectives in this course are to strengthen your prior learning of Java and to
explore new areas of Java, particularly the Swing components. The overall objective
is to become sufficiently proficient in programming that this skill (or lack thereof)
will not be a hurdle for you in more advanced coursework. Profifciency in programming
skill will help ensure that you will be able to focus your learning on the more
mathematical aspects of programming in courses like 342 and 343. And you will be
prepared to tackle large projects such as are required in 372.
Ground Rules
The following course policies will be observed.
Grades
Grades will be based on performance in designing and building a fairly large
software project. Grading components will include design documentation, code and workability of the program. Some portion of the grade (up to 15%) will be based on
participation during class time to discuss coding methods.
The project will be done individually (no groups) so as
to maximize your individual experience in all aspects of design, construction and testing. Each assignment will be graded. Late submissions will not be an option since we will be releasing source code for each assignment within one week of the due date for the assignment. Therefore, late submissions will not be accepted and result in a zero for that assignment.
Cheating
Unless otherwise indicated, assignments are to be completed on an individual
basis. Cheating is any act of turning in work that is not your own, but
representing it as your own. This includes documentation and program code.
I also consider any act of providing others with your work so that they
can copy it as an act of cheating. Any act of cheating will result in an
automatic failing grade on the assignment. Any subsequent acts of cheating
may result in a failing grade for the course.
You should feel comfortable discussing topics, including general approaches to
assignments, in a collaborative atmosphere. Discussing concepts and methods to be
applied to problems is often a tremendous aid to studying. But when it is time
to sit down and write down answers or program code you should work on your own.
Course Mechanics
Program
The program will be built incrementally and each stage of development (assignment)
will be subject to evaluation with feedback. This will allow you to make mid-course
corrections as needed to assure a successful completion of the program.
Each assignment will be submitted on a labelled floppy disk (no email submissions will
be accepted). You should include source code (.java) and executable files (.class). Please do not expect me to compile your programs. Feedback and grades will be put into the source code file and the disk returned. Since several assignments will be due in a short time frame, it will be
necessary to maintain at least two disks for submissions. Each submission should be in a subdirectory with the name "assign-x", where x = the assignment number.
Lectures
There will not be a lecture as such. This course is a practicum, so emphasis is placed
on program design and coding/debugging methods.
Lecture time will be used to critique code submissions (code walkthroughs) and review "idealized" source code. This is a time for discussion of techniques and methods, to get feedback and basically evaluate progress. Participation in this discussion time will be monitored and used as part of the grade for this course.
Support for students with disabilities
If you would like to request academic accommodations due to a permanent or
temporary physical, sensory, psychological/emotional or learning disability,
please contact Lisa Tice, Coordinator for Disability Support Services (DSS).
An appointment can be made through the front desk of Student Affairs (692-4400),
by phoning Lisa directly at 692-4493 (voice),
692-4413 (TTY), or by e-mail
(ltice@u.washington.edu). Appropriate accommodations are arranged after
you've presented the required documentation of your disability to DSS, and
you've conferred with the DSS Coordinator.
CSS Mentors
The CSS mentors staff the labs throughout the week. They can provide help
with specific questions about specific classes. Please note, however, that
they will not do your homework for you. Instead, they will help you when
you get stuck (either in programming or in homework) and help you develop
the reasoning skills you need to solve future problems. See the Mentors Web
Site.