Skip to content

develop Java-based programming projects in a UNIX or Linux-based environment, topics of object-oriented design, program design, and GUI development

Notifications You must be signed in to change notification settings

vincentclee/csci1302-software_development

Repository files navigation

##Software Design – Course Policies

Instructor Teaching Assistant 1 Teaching Assistant 2
Chris “Doc” Plaue
Office: Boyd 217
Office Hours: T 11-12, W 3:30-4:30
Email: [email protected]
Sagar Tarkhadkar (Head TA)
Office Hours: Monday 11-1
Email: [email protected]
Mustafa Nural
Office Hours: Thursdays 11-12
Email: [email protected]
Item Description
Meeting Times Tuesdays & Thursdays from 9:30-10:45 AM; Mondays 10:10 – 11:00 AM Spring 2012 Semester
Meeting Place Tuesdays & Thursdays: Hardman Hall 101; Wednesdays: Boyd 208
Required Textbooks (2) Java Foundations: Introduction to Program Design & Data Structures (2nd Edition) Lewis, DePasquale, Chase: ISBN: 978-0-13-212881-0
Java: An Introduction to Problem Solving & Programming Fifth Edition Savitch, Carrano, ISBN 0-13-607214-3
Target Audience This course is appropriate for undergraduate students interested in learning how to develop Java-based programming projects in a UNIX or Linux-based environment. This course fulfills Area VI requirements for CSCI majors, and will cover topics of object-oriented design, program design, and GUI development.

###Evaluation

Method Qty Points Weight
Attendance 1 75 7.9%
Syllabus Quiz 1 25 2.6%
Homework 4 200 21.1%
Programming Assignments 6/7 350 36.8%
Examinations 2 300 31.6%

All assignments are to be competed individually unless otherwise (and explicitly) noted

Evaluation Description
Honor Code All academic work must meet the standards contained in, “A Culture of Honesty,” and the Student Honor Code. All academic work must meet the standards described in “A Culture of Honesty” found at: www.uga.edu/honesty. Lack of knowledge of the academic honesty policy is not a reasonable explanation for a violation. Questions related to course assignments and the academic honesty policy should be directed to the instructor.
Common forms of academic dishonesty against which student should guard include 1) copying from another student’s test paper or laboratory report, or allowing another student to copy from you; 2) fabricating data for an assignment; 3) helping another student to write a laboratory report or computer software code that the student will present as his or her own work, or accepting such help and presenting the work as your own; 4) turning in material from a public source such as a book or the Internet as your own work.
Examinations Students may request to take an exam prior to the examination date. This request must be made at least one week prior to the scheduled examination date. Students who do not make such a request and are not in attendance on the examination date have an opportunity to take the exam at a different time only under exceptional circumstances, such as family or medical emergencies, and must have this absence approved by the Dean of Students office.
Programming Projects The programming assignments will be written in Java 1.6 using Linux (Nike). You are responsible to make sure that your program compiles and runs correctly under Java 1.6 as installed on Nike.
Each programming project assignment will include delivery instructions, deadline, and late penalties.
Evaluation of the projects will include 1) evaluating test cases using a pass or fail metric, and 2) programming style. You are responsible to ensure that your programs compile, run, and are properly documented. Proper documentation includes proper function commenting (i.e. purpose, pre-, and post-conditions) and explicit directions on how to compile and run your programs.
Homework Each homework assignment will include formatting instructions, delivery instructions, and deadline. In order to be eligible for credit, submissions must conform to each of these requirements. The late policy for the assignment will be explicitly listed on each assignment.
Attendance Attendance will be taken in this course. You are required to have your UGA ID card on you for all classes and exams. You may have up to three unexcused class absences before it will impact the attendance component of your grade. For these unexcused absences, students do not need to notify the instructor or teaching assistant in advance, except as explained above for examinations. For excused absences (i.e. extreme sickness, family emergency), you must provide University-approved documentation. In all cases of absences, students must first consult with a classmate about missed material prior to seeking assistance from the instructor or teaching assistant.
Re-grade Requests Students may request a re-grade of any graded material. To make a request, a student should submit a written justification for the request (and include the assignment if appropriate). Students should be aware (perhaps beware) that such requests could result in a lower grade being assigned. Any request must be made within 7-days after the instructor returns the graded material, regardless of whether the student is in attendance. For example, if the instructor returns the material on a Wednesday, then the student has until the end of class on the following Wednesday.
Withdrawals Please see the instructor before initiating a withdrawal from the course—you owe it to yourself to know your current standing in the course. Generally speaking, a withdrawal grade of WP is assigned to those students who have been in ample attendance of the course and have a current course average of 50% or higher. Students who seek to withdraw from the course who have not made an attempt to attend class and/or have not carried their weight on a pair-programming project are likely to receive grades of WF.

###Additional Information

Item Description
Accommodations Students who require accommodations based on a disability of any kind should follow the procedures outlined by the UGA Disability Resource Center. I am happy to help anyone with a disability by providing any reasonable accommodations, but I cannot provide them until I receive appropriate documentation.
Communication The instructor will communicate through announcements on eLC and Piazza. It is required that students check their uga.edu email, eLC, and Piazza at least once a day. When emailing the instructor or TA, please include a [cs1302] tag in the subject line. Note, I receive a lot of email, so it sometimes takes me a while to sort through my inbox. Please allow 24-hours for a response on a weekday, and 48-hours for a response on the weekend or holiday/break.
Mobile Devices The instructor (sort of) grew up in the “digital age” and is not a total Luddite. If your electronic device sounds in class, it’s no big deal, just silence it quickly. You will not get ejected from class (especially since chances are good that my phone may vibrate loudly and I’d rather not kick myself out of class). You will notice, though, that I will never take a call or text message during class and I ask you to do the same.
Laptop Usage Please seek permission from the instructor if you wish to use your laptop during lecture. If you receive permission to use a laptop during class, please exercise good judgment since what you use your laptop for may distract not only yourself, but students seated around you. The instructor will excuse any students found to be using laptops in such a way that it distracts from the learning experience of other students (read: you will be asked to leave if you’re playing games in class).
Changes The instructor wishes to view this syllabus as a contract of what he expects from his class, and what his class should expect of him and the teaching assistant. After the first week of the class, exam dates will be solidified and will not be changed unless unusual circumstances arise. Lecture topics, however, are subject to change. The most current class schedule will be on the course eLC site. Note, however, the official UGA policy for syllabi is, “The course syllabus is a general plan for the course; deviations announced to the class by the instructor may be necessary.”

#Welcome to CSCI 1302!

###Content Schedule – Spring 2012 ####Goals Broadly stated, there are the following goals for this class:

  1. Become familiar with developing Java programs in a Linux environment
  2. Be able to define and use object-oriented and data structure components such as inheritance, polymorphism, stacks, lists, queues, and arrays.
  3. Be able to define the notion of time and space complexity when looking at a Java method
  4. Be able to use Java Swing components to design graphical user interfaces
  5. Gain advanced knowledge in software design including UML design, exception handling, unit testing, and software patterns and be prepared to use this knowledge in software-based projects

We will achieve these goals by through programming projects & homework assignments. In addition, through required readings and lectures, students will acquire or improve a number of skills that can help them design more usable software.

###Class Schedule (subject to revision) LDC = Java Foundations: Introduction to Program Design & Data Structures
SV = Savitch <- figure out real name here

Day Date Topic Reading Notes
T 1/10/12 Welcome to CSCI-1302, Plaue, and UNIX
W 1/11/12 Introduction to Linux
R 1/12/12 Linux & Java Review
T 1/17/12 Java Review SV 1-6
W 1/18/12 Class & Subclasses (revisited)
R 1/19/12 File Input & Output SV 10
T 1/24/12 Exceptions SV-9
W 1/25/12 Using APIs and Generating JavaDoc Java Website
R 1/26/12 Project Management (SVN)
T 1/31/12 UML, Problem-Solving, Problem-Decomposition SV-8.2
W 2/1/12 Formal Specification Techniques
R 2/2/12 Arrays & Lists LDC-7
T 2/7/12 Inheritance LDC-8
W 2/8/12 Polymorphism LDC-9
R 2/9/12 Polymorphism / Interfaces LDC-9, SV-10
T 2/14/12 Packages, ArrayLists, J-Unit LDC-10, SV-8
W 2/15/12 General Catch-up Day!
R 2/16/12 Recursion LDC-11
T 2/21/12 Recursion
W 2/22/12 Debugging Strategies
R 2/23/12 Catch-up Day
T 2/28/12 Model-View Controller
W 2/29/12 In-class discussion/review
R 3/1/12 Midterm Exam Mid-semester!
T 3/6/12 Introduction to Human-Computer Interface Principles LDC-6
W 3/7/12 Swing & Event Listeners
R 3/8/12 Swing & Layout Managers
T
W
R
3/13/12
3/14/12
3/15/12
Spring Break
T 3/20/12 Java Graphics LDC-F, SV-8
W 3/21/12 Java Applets LDC-G
R 3/22/12 Media Withdrawal Deadline
T 3/27/12 TBA
W 3/28/12 TBA
R 3/29/12 Algorithm Analysis Overview LDC-12
T 4/3/12 Sorting out Sorting LDC-13
W 4/4/12 Sorting out Sorting LDC-13
R 4/5/12 Stacks LDC-14
T 4/10/12 Stacks/Linked-Lists LDC-14
W 4/11/12 Queues LDC-15
R 4/12/12 Software Design Patterns
T 4/17/12 Software Design Patterns
W 4/18/12 Project Discussions
R 4/19/12 Open-Source Code
T 4/24/12 Role & Use of Contracts
W 4/25/12 In-Class Discussion and Review
R 4/26/12 Final Class, Surveys, Etc Last Day

###Important Dates (you should probably put these in your calendars!)

Item Date
Mid-semester Thursday, March 1, 2012
Reading Day Tuesday, May 1, 2012
Final Exam Slot Thursday, May 3, 2012 8 AM – 11:00 AM

UGA has an official policy for dealing with exam conflicts. To find this information, in addition to the official schedule of final exams, visit:

http://www.reg.uga.edu/calendars/final-exam-dates/FinalExamDatesSpring2012

About

develop Java-based programming projects in a UNIX or Linux-based environment, topics of object-oriented design, program design, and GUI development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published