Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
COMPSCI 250: Introduction to Computation
Summer 2024
Course Goals
This is a list of specific tasks that students might be asked to perform on the final exam -- it is posted here as a study guide.
● First Half of Course, Chapters 1, 2, 3,4:
○ Translate statements to and from propositional logic.
○ Prove statements of propositional logic using truth tables and/or propositional proof rules.
○ Translate statements to and from predicate logic.
○ Prove statements of predicate logic using the four quantifier proof rules.
○ Work with the definitions of types of relations (partial orders and
equivalence relations) and properties of functions (one-to-one, onto, bijections).
○ Be familiar with primality and modular arithmetic.
○ Know the statements (and something of the proofs) of the Inverse
Theorem, Fundamental Theorem of Arithmetic, and Chinese Remainder Theorem.
○ Prove statements about naturals by ordinary induction.
○ Prove statements about naturals by strong induction.
○ Prove statements about other data types (strings, trees, etc.) by induction on the definition of the type.
○ Work with a completely new inductive definition.
○ Prove correctness and termination of a recursive algorithm by induction.
○ Write a recursive algorithm to operate on an object of an inductively
defined class, such as boolean expression trees.
● Second half the of Course, Chapters 9, 5, 14, and 15 :
○ Describe the behavior of general search, depth-first search,
breadth-first search, uniform-cost search, or A* search on an example.
○ Work with formal languages defined by regular expressions.
○ Prove a property of regular expressions by induction on the definition.
○ Determine the behavior of a DFA on a string or set of strings.
○ Use the Myhill-Nerode Theorem to argue about whether a given language has a DFA, or how many states its minimal DFA has.
○ Find the minimal DFA equivalent to a given DFA.
○ Understand the language of a given ordinary NFA or λ-NFA.
○ Convert a λ-NFA to an equivalent ordinary NFA.
○ Convert an ordinary NFA to an equivalent DFA.
○ Convert a regular expression to an equivalent λ-NFA.
○ Convert a DFA to an equivalent regular expression by working through r.e.-NFA's (called "GNFA's" in lecture).
○ Argue about the class of regular languages using the different equivalent definitions and various conversion algorithms.
○ Understand, informally, the behavior of a Turing machine.
○ Informally describe how a Turing machine might solve a given computational problem.
○ Know the definition of Turing Recognizable and Turing decidable languages.
Course Requirements and Grading
Your grade in COMPSCI 250 will be based on the following:
● 1 Midterm Exam (25%): There will be one midterm exam on Tuesday, June 27.
● Final Exam (30%): This will be on July 21st and will be cumulative, with greater emphasis on the last half of the course.
● Biweekly Homework (30%): There will be six Homework during the semester. Together they will count for 30% of your final grade. The lowest grade of your HW will be dropped.
You have the freedom to choose one HW and submit it one day late. The students with disabilities ( The ones for whom I received a letter from disability services) can submit all their HWs by the late due date (only one day).
--By giving you this opportunity, I don’t expect to get emails about extensions or missing deadlines unless you have severe health issues. If you have medical issues, contact me with related documents.
● Discussions (9%): There will be seven discussions on Thursdays. Attendance at the discussion sections is required. You are allowed to miss one of the discussions with no penalty. This portion of the course grade will be based on your attendance and participation. Participation will be measured by group responses to in-class writing assignments, usually based on "Excursion" sections of the text. You will be divided randomly into groups of 3-5 people, and each group will hand in a response to the assignment. Your grade will be based on top 6 discussion grades.
● Quizzes (6%): Every week, you need to complete two quizzes on the assessment package. We start it in the second week. Your grade will be based on your top 6 grades.
● In-class participation/activity (2%): I may ask you to do an activity in the class. The ones who are present and answer the questions will get 2 points (2 extra credits).
Syllabus and Course Schedule
PART I: Logic, Number Theory, and Induction
Week 1: (1.1-1.10)
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Tuesday (Live) |
May 21 |
L01 |
1.4 and 1.6 |
Wednesday (Live) |
May 22 |
L02 |
1.7 and 1.8 |
Thursday (Live) |
May 23 |
D01 |
|
|
|
|
1.1, 1.2 ,1.5, 2.5 |
Week 2: (2.1 - 2.11)
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Tuesday (Live) |
May 28 |
L04 |
1.10, 2.3, 2.6 |
Wednesday (Live) |
May 29 |
L05 |
2.1, 2.8 |
Thursday (Live) |
May 30 |
D02 |
|
|
|
|
2.9, 2.10,2.11, 3.1,3.3 |
Week 3 (Will cover Chapter 3 and Chapter 4)
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Monday (Live) |
June 3 |
L06 |
4.1,4.3 |
Tuesday (Live) |
June 4 |
L07 |
4.4,4.11 |
Wednesday (Live) |
June 5 |
L08 |
4.9, 9.1 |
Thursday (Live) |
June 6 |
D03 |
|
Asynchronous |
|
|
3.5, 3.6,4.7 |
Week 4 (Review)
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Monday (Live) |
June 10 |
L09 |
Chapter 1,2 review |
Wednesday (Live) |
June 12 |
L10 |
Chapter 3, 4 review |
Thursday (Live) |
June 13 |
D04 |
|
|
June 14 |
Chapters 1-4 |
|
|
|
|
9.3, 9.4,9.5,9.6 |
PART II: Trees, Searching, Regular Expressions, Finite-State Machines, and Computability
Week 5
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Monday (Live) |
June 17 |
L10 |
5.1, 5.2 |
Tuesday (Live) |
June 18 |
L11 |
5.4,5.5 |
Thursday (Live) |
June 20 |
D05 |
|
Asynchronous |
|
|
9.8,9.9,5.5 |
Week 6
Live / Recorded |
Date |
Lecture/Discussion |
Topics |
Monday (Live) |
June 24 |
|
Chapter 9 review |
Tuesday (Live) |
June 25 |
L13 |
14.1, 14.2 |
Wednesday (Live) |
June 26 |
L14 |
14.3, 14.5 |
Thursday (Live) |
June 27 |
D06 |
14.3 (minimizing DFAs) |
|
|
|
14.6,14.7,14.9,14.10 |