An extended introduction to computer science topics through programming. Fundamental topics in this course include the design of solutions (algorithms) to problems, how data is structured, stored, organized, and operated on (data structures), in ways of various efficiencies (which we’ll analyze), as well as a discussion on constructs of programming languages, primarily centered on object-oriented programming in Java. The ADSA and ADSB course sequence is a prerequisite for Analysis of Algorithms and the advanced computer science electives.
Semester 1
Java syntax and style
Primitive data types, variables, and arithmetic
Conditional statements and boolean logic
Iterative control structures
Strings
Methods
Exceptions
Objects and classes
Arrays
Semester 2
Programming in Java
Algorithm runtime analysis (Big O)
Sorting and searching algorithms
Memory
Objects, classes, and object-oriented design
Class hierarchies and inheritance
Recursion
Linear data structures (Arrays, 2D-Arrays, ArrayLists, etc.)
Traversal algorithms