Course Syllabus

This is a summary and schedule for CSS 343; the full syllabus is located here.

Course Summary

This core computer science course covers the internal workings of algorithms and data structures, from mathematical principles to implementation in C++. Topics include development of algorithms; algorithm analysis; object‐oriented programming; abstract data types including trees, priority queues, graphs, and tables; regular expressions and context‐free grammars.

The objective of the course is to refine and extend the concepts and practical skills introduced in CSS 342. By the end of this quarter, you will be a confident C++ programmer 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 understand the tradeoffs among memory, running time, and implementation time associated with different data structures and algorithms. 

The subject matter is highly technical so plan to put in considerable time and effort master the material. Expect to spend an average of 15 hours a week outside of class time for this course; some of you may spend more, some less time.

Course Summary:

Date Details Due