CS 2114 Resources
Prerequisites
Students taking CS 2114 enter the course from various paths and have somewhat varied backgrounds, e.g., CS 1124 or 1054, or ECE 1574, or AP credit for CS 1114. A basic understanding of the following topical prerequisites is assumed as you begin the course:
Programming / Object-oriented concepts
- objects, classes
- instance data, encapsulation
- methods
- inheritance, class hierarchies
- unit testing
Java specific topics
- source code, bytecode
- compilation, interpretation
- object references, aliases
- primitive data types
- methods, parameter passing
- visibility modifiers (public vs. private)
- importing packages and classes
- static data and methods
- assignment, type compatibility
- conditionals: if, if-else, switch
- loops: while, for, “for each”
It is assumed that students coming into CS 2114 can develop programs similar to the following:
- The "Word Frequency" project assigned several years ago in CS 1705.
- The "GPA statistics" project used as part of an old "credit-by-exam" process for CS 1705.
Tools
In CS 2114, students use an integrated development environment such as Eclipse. They also use Web-CAT to submit and perform an initial evaluation of programming projects. Experience with these tools prior to taking the course is helpful, but not imperative. In CS 2114, students are expected to come up to speed with these tools with minimal instruction.
Syllabus Topics
In CS 2114, students continue to explore OO concepts and the Java programming language, covering the following:
- Design quality issues
- Abstract classes, interfaces
- Polymorphism, type details, compatibility
- Java generics
- Graphical user interfaces, event processing
- Algorithm analysis, Big-Oh
- Recursion
- Searching: linear, binary
- Sorting: quadratic sorts, quicksort, merge sort
- Data structures, collections: stacks, queues, lists, trees, search trees
- Implementation strategies
- Project and team management
Last updated 01/24/2011
