Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

πŸ“‹ Exam Structure Details

⚠️ WARNING: This page is a work in progress.

Some details may be incomplete or subject to change!

πŸ“ Written Component (16 points)

Format Overview

DetailInformation
Duration120 minutes
FormatClosed book (no materials)
Questions6–8 problems
Total Points16

Problem Types

TypePoints EachTypical CountDescription
Definitions2–32State precisely with example
Theorems3–41–2State and prove or sketch proof
Computations2–32–3Calculate, simplify, construct
Proofs4–51–2Rigorous argument from scratch

Coverage Distribution

Fall Semester Exam

TopicWeightWhat to Expect
Boolean Algebra~40%Minimization, gates, completeness
Formal Logic~40%Natural deduction, quantifiers, soundness/completeness
Set Theory~10%Operations, power sets, cardinality
Relations~10%Properties, equivalence, functions

Spring Semester Exam

TopicWeightWhat to Expect
Automata Theory~40%DFA/NFA, regex, pumping lemma
Combinatorics~40%Counting, recurrences, generating functions
Graph Theory~10%Properties, algorithms, theorems
Flow Networks~10%Max-flow, min-cut, algorithms

Grading Criteria

CriterionWeightWhat It Means
Correctness~50%Right answer with valid reasoning
Completeness~25%All necessary steps shown
Clarity~15%Easy to follow, well-organized
Rigor~10%Proper justification, no gaps

πŸ’‘ Partial Credit: Awarded for correct approach even if final answer is wrong. Show your work!

πŸ—£οΈ Verbal Component (8 points)

Verbal Format Details

DetailInformation
Duration15–20 minutes per student
FormatOne-on-one with instructor
Preparation2–3 min after drawing topic
Total Points8

Process

StepDurationWhat Happens
1. Draw Topic–Receive random topic card from covered material
2. Prep Time2–3 minOrganize thoughts, prepare explanation
3. Explanation~5 minPresent concept clearly to instructor
4. Questions~10 minAnswer follow-up questions, discuss details
5. Grading~2 minFeedback discussion, grade assigned

Possible Topics

🍁 Fall Semester

  • Equivalence relations and partitions theorem
  • Cantor’s diagonalization argument
  • Functional completeness proofs
  • Soundness vs completeness distinction
  • Boolean duality principle
  • Natural deduction rule systems
  • Cardinality comparison methods

🌱 Spring Semester

  • Pumping lemma for regular languages
  • Myhill-Nerode theorem
  • Inclusion-exclusion principle
  • Max-flow min-cut theorem
  • Generating functions techniques
  • NFA to DFA conversion
  • Recurrence solving methods

Evaluation Criteria

CriterionWeightAssessment Questions
Knowledge~40%Do you know the definition/theorem/concept?
Understanding~30%Can you explain clearly in your own words?
Depth~20%Do you understand beyond surface level?
Connections~10%Can you relate to other topics?

Tips for Success

βœ… Do This:

  • Start with precise definition
  • Give concrete example
  • Explain significance/applications
  • Connect to related concepts
  • Be honest if you don’t know something

❌ Don’t Do This:

  • Memorize without understanding
  • Rush through explanation
  • Ignore the question asked
  • Make up false information
  • Panic if you don’t know everything

πŸ’» Practical Component (6 points)

Practical Format Details

Typical Problem Types

Fall Semester Examples

TypeExample
Boolean MinimizationImplement Quine-McCluskey algorithm
Truth Table SolverBuild SAT solver or tautology checker
Logic Circuit DesignCreate circuit optimizer
Set OperationsImplement power set or partition generator
Cardinality ProofsConstruct bijections programmatically

Spring Semester Examples

TypeExample
Automata SimulationBuild DFA/NFA simulator
Regular ExpressionImplement regex to NFA converter
Graph AlgorithmsDijkstra, Bellman-Ford, or flow algorithm
Combinatorial CountingImplement counting formula or recurrence solver
Generating FunctionsBuild coefficient extractor or series manipulator

Requirements

RequirementDetails
Working SolutionCode runs without errors, produces correct output
DocumentationClear README explaining approach and usage
Code QualityWell-commented, readable, organized
Test CasesInclude examples demonstrating correctness
ExplanationWritten description of algorithm/approach
AnalysisTime/space complexity if applicable

Practical Evaluation Criteria

|———–|––––|—————–| | Correctness | ~50% | Does it solve the problem correctly? | | Efficiency | ~20% | Is the approach reasonable? (Not necessarily optimal) | | Documentation | ~20% | Is explanation clear and complete? | | Completeness | ~10% | Are all parts addressed, edge cases handled? |

Submission Checklist

Before submitting, verify:

  • Code compiles/runs without errors
  • At least 3–5 test cases included with expected output
  • README file explains problem, approach, and usage
  • Code is well-commented
  • Edge cases are handled (empty input, large input, etc.)
  • Time/space complexity mentioned (rough estimate OK)
  • All files organized in clear directory structure
  • Your name and student ID in submission

Common Pitfalls

⚠️ Avoid These Mistakes

  • Starting too late – budget 10–15 hours total work
  • No documentation – code without explanation loses points
  • No test cases – how do we know it works?
  • Overcomplicated – simple correct solution beats complex buggy one
  • Not asking questions – clarify requirements early!

🎯 Strategy for Success

Prioritization

  1. Week 14: Start reviewing for written exam
  2. End of semester: Begin practical component immediately when released
  3. Before written part: Intensive review, finish practical
  4. After written part: Prepare for verbal part, submit practical
  5. Verbal exam day: Light review, stay calm

Balance Strategy

  • Don’t neglect practical to study for written
  • Do budget time for all three components
  • Don’t assume verbal part will be easy
  • Do practice explaining concepts aloud
  • Don’t overcomplicate the practical solution
  • Do test thoroughly and document well

Good luck with your exams! πŸŽ“