Software Architectures and Algorithms is the second transfer level course in the Computer Science major. Where the first course addressed control structures, objects, fundamentals of program design, and fundamentals implementation, this course introduces you to the existing Body of Knowledge (BOK) in data structures, algorithms, debugging, testing, and integration of your code with existing software frameworks. This combination of well understood data structures and well tested algorithms enables you to focus on placing the software you create into an architecture that supports correct operation and meets performance goals.