CS 173, a course at UIUC on discrete structures
CS 173 is a course number that is used at various universities and colleges to refer to a computer science course. The specific content of the course may vary depending on the institution and the specific curriculum being followed. Some possible topics that could be covered in a CS 173 course include algorithms, data structures, programming languages, computer architecture, and software engineering.
It is not possible for me to provide more information about this course without knowing more context, such as which institution is offering the course and what the course description or syllabus includes. If you have any specific questions about a CS 173 course that you are taking, I would recommend contacting your instructor or academic advisor for more information.
The University of Illinois Urbana-Grainger Champaign's College of Engineering's Computer Science department offers the computer science course CS 173 to its students.
The theoretical side of computer science is covered in this course. It teaches you how to write and interpret literate formal mathematics as well as how to build proofs. Asymptotic analysis of algorithms is also covered, along with a tour of other often used terms in theoretical computer science, including relations, trees, graphs, and modular arithmetic.
CS 173 prerequisites
The course involves discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs.
You’ll need one of CS 124, CS 125, ECE 220; one of MATH 220, MATH 221.
This course assumes that you have significant practice with recursion, have worked with basic data structures (e.g. linked lists, trees, or graphs), and have seen simple examples of big-O algorithm analysis.
Students without this background sometimes think they are ok towards the start of the term, but get into trouble midway through the course.
To take this course, you must have completed Calculus I (Math 220 or 221) and CS 125 or ECE 220. UIUC Banner is now enforcing these prerequisites automatically, so you will not be able to add CS 173 if you don’t have them.
You must meet with the CS academic office to request an override if you have credit for a prerequisite course but it is not reflected on your transcript.
Students who have incoming transfer credit, international students, and those who successfully complete the CS 125 proficiency test are all included in this.
Be patient, especially if you are a non-major, as the academic office is very busy during registration and at the beginning of the semester.
What can be used to fulfill the requirements for CS 173?
- Since registration happens in the middle of the previous term, you’ll be allowed to register for CS 173 based on the fact that you’re currently taking the prerequisite course(s). If you fail a prerequisite class, you’ll have to drop CS 173.
- You can take CS 173 if you have credit for Calculus II or III, but mysteriously no credit for Calculus I. However, you should see your advisor to sort out your situation if your major (e.g. CS) explicitly requires Calculus I for graduation.
- You cannot satisfy the programming requirement using AP CS, CS 101/105, and/or ECE 120. These courses do not cover some of the critical background material.
- You may not take a prerequisite course (e.g. CS 125 or ECE 220) concurrently with CS 173. CS 173 uses certain critical material before these courses cover it.
- Having taken much of a prerequisite course (e.g. Calc I) in high school does not change this rule. If you cannot place out of the course at U. Illinois, that means you don’t have the background to take CS 173.
- You may satisfy the intro programming requirement by passing the CS 125 proficiency exam (in C++ or Java), at the start of term. Have a backup plan in case you don’t pass it.
- It is also sufficient if you pass the ECE 220 proficiency exam at the start of term. (The ECE department gives this only by special arrangement, primarily to transfer students).
CS 173 topic list
Below are the topics you’ll study on CS173: Discrete Structures at UIUC.
- logic and proofs
- number theory
- sets and collections of sets
- relations
- functions
- graphs
- Induction and recursive definition
- trees
- big-O, algorithms, NP
- state diagrams
- countability
Discrete structures course goals
- Predicate logic: establish the veracity of claims, carry out straightforward transformations, especially negation, and correctly apply formal definitions (esp. vacuous truth cases, attention to variable types and scope).
- Write literate proofs by applying the basic outlines (direct, contrapositive, contradiction, upper/lower bounds) in a clear and concise manner.
- Make inductive arguments, especially arguments based on trees.
- Give basic explanations, information, and notation for frequently used discrete math constructs.
- For straightforward pseudocode examples, particularly recursive examples, derive the big-O running time. includes using unrolling and recursion trees to obtain closed-forms for formulas that are defined recursively.
- Sort relatively simple example complexity into categories like countable vs. uncountable, polynomial vs. exponential, and decidable vs. undecidable.
CS 173 competence
If you have already mastered the material covered in certain Illinois Computer Science courses, you may receive credit and satisfy prerequisites by taking a proficiency exam.
Here you will find details about how to prepare and sign up for Illinois CS proficiency exams.
Proficiency exams are similar in coverage and scope to a comprehensive final exam. They are intended to ensure that you are well-prepared for later courses in the same subject area.
To get proficiency credit, you must score at least a B- on the proficiency exam. If you don’t pass the exam, nothing appears on your record. You may either take the course (recommended) or re-take the proficiency exam. Specific passing criteria are at the discretion of each course instructor.
For the core programming sequence (CS 124, CS 128, CS 225) you must attempt the proficiency exams in order. Results are available immediately for the CS 124 and CS 128 exams, so you’ll know whether you can continue with the sequence.
Proficiency exams are offered at the beginning of each semester, and at other times at the discretion of the computer science department.
How to sign up for CS 173 proficiency exam
- Visit the proficiency moodle "course" to register.
- Your netID will be required to log in to UIUC Moodle.
- Then register for "CS 173 proficiency examinations (academic year 2021-22)" as a course. Enroll on your own.
- When it comes time to take the proficiency test, you will come back to this course.
- You may now practice entering equations and diagrams into the online interface using a quick exercise on the moodle website.
- For the exam, you won't be able to upload any handwritten work.