CSCI 235 and 245 Progress Inventory
Welcome to the "Progress Inventory" for Programming I and II (CSCI 235 and 245).
About this inventory
Instructions for use
Jump to Level 10, beginning of CSCI 245 Programming II.
Please send any questions or suggestions, especially about how to improve ease-of-use
or to hurry up on any of the "coming soon" levels, to
Thomas VanDrunen.
- Level 1: Basic algorithms
- Basic control structures, operations on arrays and Strings, static methods.
- Seven static-method problems: Complete static methods, each in their own class.
-
/cslab/class/inventory/level1
-
level1.tar
- CSCI 235 Week 4
- Level 2: Recursion
- Recursive algorithms implemented by self-referential static methods
- Four static-method problems: Complete static methods, each in their own class.
/cslab/class/inventory/level2
-
level2.tar
- CSCI 235 Week 6
- Level 3: Writing classes
- Basic classes
- Three class problems: Complete classes, each in their own file.
/cslab/class/inventory/level3
-
level3.tar
- CSCI 235 Week 8
- Level 4: Interfaces
- Static methods that use objects known only by their interface
- Coming soon
- CSCI 235 Week 9
- Level 5: Linked lists, easy
- Basic to moderate algorithms on linked lists.
- Nine instance-method problems: Complete instance methods in the
LinkedList
class.
/cslab/class/inventory/level5
-
level5.tar
- CSCI 235 Week 11
- Level 6: Collections
- Static methods that use classes from the Java Collections framework (
ArrayList
etc)
- Coming soon
- CSCI 235 Week 13
- Level 7: Exceptions
- Static methods that handle exceptions
- Coming soon
- CSCI 235 Week 14
- Level 8: Action listeners
- Classes that implement the
ActionListener
interface.
- Coming soon
- CSCI 235 semester end
- Level 9 : Linked lists, recursive
- Basic to moderate operations on linked lists implented by recursive
methods in the
Node
class.
- Eight instance-method problems: Complete instance methods in the
Node
class.
/cslab/class/inventory/level9
-
level9.tar
- CSCI 235 semester end
- Level 10: Sorting algorithms
- Component algorithms to iterative and recursive comparison-based
sorting algorithms (for example, the "partition" part of quick sort).
- Four static-method problems: Complete static methods, each in their own class.
/cslab/class/inventory/level10
-
level10.tar
- CSCI 245 Week 3
- Level 11: Linked lists, hard
- Hard opertions on linked lists; specifically implementing iterative
and recursive comparison-based sorting algorithms on linked lists
(for example, selection sort that takes an unsorted linked list and
rearranges the nodes to make it sorted).
- Four class problems: Complete classes, each in their own file.
/cslab/class/inventory/level11
-
level11.tar
- CSCI 245 Week 4
- Level 12: Iterators, basic
- Classes that implement the
Iterator
interface.
- Four class problems: In each problem, complete a class whose objects
iterate over a collection or range.
/cslab/class/inventory/level12
-
level12.tar
- CSCI 245 Week 5
- Level 13: Homemade ArrayList
- A class that encapsulates an array, simulating it growing and shrinking,
like Java's
ArrayList
class.
- Coming soon
- CSCI 245 Week 6
- Level 14: Class extension
- Classes that share code by having duplicate code factored into a parent class.
- Coming soon
- CSCI 245 Week 7
- Level 15: Generics
- Classes with type parameters.
- CSCI 245 Week 8
- Level 16: Nested classes; iterators, itermediate
- Classes nested inside other classes, especially anonymous inner classes;
focusing on classes that implement the
Iterator
interface.
- Coming soon
- CSCI 245 Week 9
- Level 17: Stacks and queues
- Algorithms that use stacks or queues
- Coming soon
- CSCI 245 Week 10
- Level 18: Concurrency
- Classes whose code must use the Event Dispatch Thread correctly.
- Coming soon
- CSCI 245 Week 12
- Level 19: Iterators, hard
- Iterable classes with non-trivial iteration.
- Coming soon
- CSCI 245 Week 13
- Level 20: Design patterns
- Sets of classes that use the Adapter, Decorator, State, or Strategy design patterns.
- Coming soon
- CSCI 245 semester end
Thomas VanDrunen
Last modified: Wed Nov 2 17:05:09 CDT 2016