CS 236: Discrete Structures - byu-cs/wiki GitHub Wiki
General Information
Attribute | Value |
---|---|
Semesters Taught | F, W, Sp, Su |
Typical number of sections | Semester: 4, Term: 0-2 |
Technologies Used | C++, Valgrind |
Workload
The workload might be a bit harder than CS 235, but not much.
Learning Outcomes
In this class you'll learn more about data structures as well as general computer science theory. You'll encounter the low level stuff you start on in this class later in CS 252. You'll strengthen your knowledge of C++.
Homework
There is a substantial amount of homework involving computer science theory problems (i.e. no code, more like a weird kind of math). You'll probably want to get help from the TAs with concepts treated in the homework as well as the projects.
Projects
There is a project due every two or three weeks. Their format is similar to CS 235 (you'll have to pass off on Linux machines, you can test with SSH, you'll need to use Valgrind). Each project builds on the previous one so make sure you don't get stuck early on.
You'll be writing a rudimentary compiler for a language called Datalog, which is syntactically a subset of Prolog. The project involves parsing and interpreting text files. To pass off correctly you need to take a provided file as input and output a file that matches the example exactly. You can test the differences using a tool like diff. Learning to manipulate your chosen tool can really help you identify errors in your output files.