|
The text for the course is Data Structures and Problem Solving Using Java, Third Edition by Mark Weiss. All of the code from the text is available on the author's website: http://www.cs.fiu.edu/~weiss/dsj3/code/code.html
Useful Links
Grades will be calculated based on the following distribution:
Programming projects will generally consist of two major components:
If a portion of your program is not working correctly, please clearly indicate it in the comments at the beginning of the file and in the methods that are not working. Problems that I discover are graded more severely than those you discover.
Regular class attendance is expected. I am required to report to the dean any student whose repeated absences is impairing their performance in the class.
Please talk to me if regular class attendance is going to be a problem.
There will be a number of assignments made in this class. I expect every student to attempt each assignment and turn in the results. Do not expect to pass this class if you do not submit something for every assignment. You are encouraged to complete every assignment as this is one of the most effective ways to learn the material.
When homework is assigned, a due date will be made available (usually Tuesday at 11:30pm). You are responsible for submitting your answers before the deadline.
If you know that for some reason you will not be able to submit the assignment before the deadline, you should contact me in advance of the deadline. Extensions are only granted in exceptional circumstances, but need to be done in advance.
Note on late projects: Normally, I do no accept late projects. This semester I am going to deviate from my policy and allow students to submit assignments late with the following penalty scale:
Extra credit will not be accepted after the initial deadline.
Programming assignments will be graded on both correctness as well as programming style. Good programming style includes the following:
The College's Judiciary Committee (CJC) handles plagiarism offenses. The penalties for plagiarism are quite severe: usually the first offense leads to failure in the course, but it may additionally result in suspension. The following constitutes plagiarism on CS programming assignments:
Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes sharing solutions after the due date of the assignment. Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee.
Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. If you are in doubt about some help that you received, then credit the person(s) from whom you got help by citing them in a comment at the top of the file and discuss the situation with your instructor.
The CS35 clinician is an additional resource to help you with this class. The clinician is available for 3 hours per week and will help you with any problems you are having in the class. If you use the clinician to help you with your homework, please cite their help.
|
Clinician: Bronwyn Woods |
|
Clinician: Dan Amato |
| WEEK | DAY | Note | READING | HW |
| 1 | Aug 30 | Using Unix #1 4pm-5pm Using Unix #1 8pm-9pm (Aug 31) |
Introduction to Java |
HW0 - HelloWorld |
| Sep 01 | InClass: TestException.java, PrintInt.java | |||
| 2 | Sep 06 | Using Unix #2 4pm-5pm Using Unix #2 8pm-9pm (Sep 07) |
HW1 - TicketCounter | |
| Sep 08 | Last Day to Add/Drop (Sep 09) | Object Oriented Programming in Java
|
||
| 3 | Sep 13 | InClass: Base/Derived.java and GenericData.java | HW2 - OldMatey (MyArrayList) | |
| Sep 15 | ||||
| 4 | Sep 20 | Algorithm Analysis
|
HW3 - N-Queens | |
| Sep 22 | Recursion
Data Structure: Queues |
|||
| 5 | Sep 27 | HW4 - MazeSolver | ||
| Sep 29 | Sorting Algorithms
|
|||
| 6 | Oct 04 | HW5 - MySorts | ||
| Oct 06 | ||||
| Oct 11 | October Break (Oct 8 - 17) | |||
| Oct 13 | ||||
| 7 | Oct 18 | Data Structure: Linked Lists |
HW6 - MyLinkedList | |
| Oct 20 | Midterm Exam (Evening) 7-9pm SCI 181 Topics | |||
| 8 | Oct 25 | Data Structure: Trees
|
HW7 - WordFrequencyTree | |
| Oct 27 | ||||
| 9 | Nov 01 | |||
| Nov 03 | Last Day to Withdraw with W (Nov 04) | Data Structure: Priority Queues
|
HW8 - ProcessQueries | |
| 10 | Nov 08 | |||
| Nov 10 | InClass: Swing and WebBrowswer examples | Swing and Graphical User Interfaces |
GUI work | |
| 11 | Nov 15 | HW9 - GUI and MyHashtable | ||
| Nov 17 | Data Structure: Hashtables |
|||
| 12 | Nov 22 | |||
| Nov 24 | Thanksgiving Break (Nov 24 - 28) | |||
| 13 | Nov 29 | Data Structure: Graphs
|
HW10 - BaconNumber | |
| Dec 01 | ||||
| 14 | Dec 06 | Final topics are here Final Exam Period: Dec 10 - 18 (Dec 09) |
Finish up:
|
|
| Dec 13 | Final Exam 9am-noon | |||
In order to obtain and submit assignments for this class, we'll be using two tools:
First, you will need to run
update35which will create a directory cs35 in your home directory.
Once an assignment is made, you can run update35 again and this will copy all needed files to ~/cs35/homework/X/ where you can then work on them. In class assignments will be distributed in a similar fashion.
To submit your work, run
handin35and follow the menus. Be sure to (v)erify your submission.