Time Schedule:
Michael D Stiber
CSS 343
Bothell Campus
Develops competencies associated with problem-solving, algorithms, and computational models. Covers abstract data types and data structures, efficiency of algorithms, binary tree representations and traversals, searching, dictionaries, priority queues, hashing, directed graphs and graph algorithms, and language grammars. Prerequisite: 2.0 in CSS 301; 2.0 in either CSS 263 or CSS 342; may not be repeated.
Class description
By the end of this quarter, you will be confident C++ programmers and will be comfortable with the basics of object-oriented design and programming. You will understand how to analyze a problem and design a solution, recognizing when existing techniques and software are reusable. You will know many basic data structures, algorithms, and the tradeoffs among memory, running time, and implementation time associated with them. Topics include: trees, tables and priority queues, graphs, grammars, data abstraction, modules, reusable type, object-oriented design, OO programming, project management methods, computational complexity and algorithm analysis.
Student learning goals
General method of instruction
Recommended preparation
Class assignments and grading
Three large software development projects, including analysis and design phases with required documentation prior to coding.
Written assignments focusing on mathematical underpinnings of Computing.
Midterm and final examination.