CS 201 - Spring 2014 (Under Construction)

Data Structures and Discrete Mathematics I


Course description

This course is a blend of theory and practice. You will study some of the fundamental theoretical topics that are very useful in Computer Science. These include mathematical induction, set and function theory, run time analysis, combinatorics, and logic. You will also learn some basic data structures and algorithms, and do programming assignments to strengthen your programming skills and to apply theory in practice. For programming, we will use the C language.

Think and Ask!

If you have problems with any topic, exercise question or assignment, DO ASK me or TA for help, we are here to make the course undersdood. DO NOT delay your questions. There is no such thing as a stupid question. The only obstacle to learning is laziness.

General Information

Midterm

Final Exam

Grading

Teaching materials

NOTE: (IMPORTANT!!!)

In order to program and debug easily, you may use some Integrated Development Environment (IDE) tools. For the programming assignments, you must make sure that your code can be compiled and run in bert without any additional packages.

Also you can develop and debug your code in Windows, but before you submit, you should make sure that your code can run in "bert" because all assignments will be graded on "bert".

Topics (under construction subject to change)

  1. Course information notes
  2. Propositional logic and predicate logic prop-notes - pred-notes
  3. Mathematical induction notes
  4. Recursion notes
  5. Run time analysis and complexity notes
  6. Set theory notes
  7. Relation and function theory notes
  8. Linked lists, stacks and queues notes
  9. Hash tables notes
  10. Trees and graphs notes

Weekly Exercises (not graded, but you still need to hand in on time)

(Submit to blackboard)

Programming Projects (graded)

Rules and Policies

Back to Home Page.
By Bing Liu, Nov. 20, 2013.