Course overview
This course will develop skills in selecting and implementing appropriate data structures and algorithms to solve problems. Introduction to Java; Java API; development environment; collection classes; recursion; asynchronous programming (File/Net IO/Event handling); use of basic data structures: stacks, queues, deques, vectors and lists, binary trees, balanced trees; and graphs using collections; implementation of one basic data structure; and fundamental algorithms (searching, sorting).
Course learning outcomes
- Design, implement, test and debug maintainable object oriented computer programs in Java
- Describe the fundamental data structures used in software development
- Use collection class data structures and library algorithms to solve problems
- Implement data structures and basic algorithms
- Use recursion to solve problems