The below is a condensed version of the syllabus presented on courseworks, if there is a conflict in information always trust the official syllabus on courseworks.

Grading Percentages

There are multiple components to your grade in this course and each category is weighted using the following percentage.

* Homeworks - 40%
* Zybook exercises - 10%
* Midterm 1 - 10%
* Midterm 2 - 10%
* Final Exam - 30%

Assignment Outline

There will be about 11 homeworks assigned throughout the semester that reflect the content you have learned in lecture. You will need to be able to apply the concepts you have learned in lecture not just spit back information. The lowest score will be dropped.

Topic Coverage

The following demonstrates an approximate list of topics you can expect to learn about during the semester, this is not a contract as more topics may be added and some may not be discussed at all. This list has been compiled using the previous offerings of 1004 as a base:

* Introduction to Algorithms
* Pseudocode
* Looping and Conditionals
* Java Classes
* Java Variables and Datatypes
* Boolean Operators
* Java Arrays
* Java ArrayLists
* Selection Sort
* Insertion Sort
* Merge Sort
* Linear Search
* Binary Search
* Binary Numbers
* Hexadecimal Numbers
* Accessors and Mutators
* Instance Variables and Methods
* Java Strings
* Java Scanners
* Interfaces
* Inheritance
* Polymorphism
* Generics
* Recursion