Hi There!

I'm Dan Schlegel, an Associate Professor in the Computer Science Department at SUNY Oswego

CSC221 – Spring 2022

Foundations of Computer Science

Instructors:

Prof. Daniel R. Schlegel, 464 Shineman Center, daniel.schlegel@oswego.edu
Prof. Elizabeth Wilcox, 174D Marano Campus Center, elizabeth.wilcox@oswego.edu

Class Meeting Times:

Section 800: MWF 11:30am-12:25pm, Shineman 174
Section 810: MWF 12:40pm-1:35pm, Shineman 172

Office/Lab Hours:

Prof. Schlegel: Mon. 2-3pm, Wed. 2-3pm, Thurs. 1-2pm, and by appointment.
Prof. Wilcox: Mon and Wed 2-3:30 in 174D MCC, Tues. 10:45-11:45 in 450 Shineman, and by appointment.

  • In Person: If one of our doors is open feel free to check if we are available.
  • Zoom: Neither of us enjoys sitting on empty Zoom calls, so if you absolutely must meet via Zoom send one of us mail and we can schedule a Zoom meeting during office hours (but you have to show up!).
  • Discord: Prof. Wilcox is available during office hours through Discord. You can find her on the CSA Discord server. Prof. Schlegel is not consistently active on Discord and might be better to reach by email.

Tutoring:

The Office of Learning Services (OLS) has walk-in tutoring hours for CSC221 from 6-8pm on Tuesdays.

Course Description:

Formalisms underlying the specification, design, and analysis of software, including propositional and predicate logic, sets, relations, functions, recursive definition and induction, finite state machines, formal languages, Turing machines, and the limits of computability.

Course Objectives:

 Upon completion of this course, students will demonstrate ability to:

  • [Logic] Convert logical statements from informal language to propositional and predicate logic expressions; apply formal logic to model and analyze the correctness of software constructions; inductively prove properties of recursively defined functions 
  • [Discrete structures] Use sets, functions, and relations to model software problems and solutions 
  • [Formal languages] Design a finite state machine to accept a specified language; transform a non-deterministic machine to a deterministic one; design a regular expression to represent a specified language; design a context-free grammar to represent a small expression language 
  • [Computability] Recognize uncomputable problems that have no algorithmic solution

Textbooks:

Critchlow, Carol, and David Eck. Foundations of Computation., v.2.3.1 (2011). Available at: http://math.hws.edu/FoundationsOfComputation/

Lehman, Eric, F Thomson Leighton, and Albert R Meyer. Mathematics for Computer Science, v.6.6.2018 (2018). Available at: https://courses.csail.mit.edu/6.042/spring18/mcs.pdf

Useful Resources:

Useful symbols to know
Be-Fitched (Fitch-style proof strategies) Local Mirror (formerly @ Stanford)
Peter Suber’s Translation Tips

Attendance Policy and Classroom Etiquette:

As per college policy, attendance in all sessions is obligatory. Students should attend the section in which they are registered. If you cannot attend a class meeting due to religious, athletic, health related circumstance, or circumstance of particular hardship, please notify us in advance via email. Please be ready to present proof, if necessary. 

A positive learning environment relies upon creating an atmosphere where all students feel welcome. Discussion is meant to allow us to hear a variety of viewpoints. This can only happen if we respect each other and our differences. Hostility and disrespectful behavior is not acceptable.

Cell phones shouldn’t be used during lecture, and laptops should only be used for taking notes (we don’t recommend this). If use of any electronics becomes districting to other students we reserve the right to discontinue the allowance of their use.

It is expected that everyone will wear a mask and socially distance according to current university policies.

Assignments:

All assignments will be completed alone, though discussion of general approaches with classmates is encouraged. During the semester there will be roughly 8 assignments. Submission will be via Blackboard or hard copy in class, depending on the assignment.

Due dates for assignments are firm – no late assignments are accepted. Assignments must be submitted at the beginning of class if they are being submitted via hard copy, or by the deadline if they are being submitted via Blackboard. If you would like an extension, you should ask for one before the day the assignment is due. Extensions may or may not be granted, but are more likely to be granted than a late assignment is to be accepted.

Modality:

We meet in person three times a week. There will be no recording, and we won’t work through the content with you in a one-on-one fashion during office hours or an appointment – basically, if you miss class then you missed out on what you signed up for when registering for the class and you will have to work through the content independently. Of course, we will answer questions about the content, if you have any, and there are exceptions for excused absences due to illness etc.

“Go Remote” due to COVID-19: If we are forced to “go remote” for a prolonged period during the semester then we’ll hold class over Zoom and make a Zoom link available on course webpage, as well as email it with the weekly content. This is definitely a sub-par, miserable excuse for a class meeting. We’ll do this only if circumstances force us.

“Go Remote” Days Due to Weather: In short, we value our snow days and will do what is reasonable to make sure that no commuter is in danger, while also maintaining academic integrity. In long, the concept of a “Go Remote” day due to weather is crap. We deserve our snow days. Yes, snow days are a serious inconvenience and create a content crunch, especially if classes are cancelled indiscriminately. But, snow days are also a weather-gifted
day of respite and nearly everyone appreciates an occasional day of rest. We may choose to skip certain topics during the semester so that we can afford to cancel class on a ”Go Remote” day. If it turns out that many classes are cancelled due to weather, then we will have to assign independent reading / activities to cover some of the content.

Exams:

The course is divided into four units, covering content related to formal logic, mathematical logic, grammars/languages, and models of machines. After each unit of approximately three weeks each, there will be an exam. Units may take a somewhat shorter or somewhat longer amount of time, so expect some variability. Exams will come at least one class day after the unit has concluded to provide time to study. The first three exams will primarily cover the topic of the most recently completed unit, but the concepts in this course build upon each other so you may need concepts from previous units.

The final exam will follow the last unit of the course and will be given during finals week at the scheduled time. The final exam will be cumulative, with about 50% of the content having to do with formal models of machines, and the other 50% covering previous topics from the course.

Grading:

It is expected that each person participate during each class. As discussed before, attendance is required. Each assignment task will be assigned a point value (generally some multiple of 3 depending on difficulty), where the following scheme will be used in grading it:

0 – Did not attempt / No serious attempt
1 – Mostly incorrect solution
2 – Somewhat incorrect solution
3 – Perfect solution

If the problem is a multiple of 3, then intermediate scores will be given as appropriate. The total points received on all assignments will then be summed and divided by the points possible and scaled as appropriate according to the percentages given below. Exams will be graded in the same way as the assignments.

Assignments40%
Exam 110%
Exam 215%
Exam 315%
Final Exam20%

The default grading for the course will be along the university’s standard grading curve:

A: 93-100C+: 77-79
A-: 90-92C: 73-76
B+: 87-89C-: 70-72
B: 83-86D+: 67-69
B-: 80-82D: 60-66
 E: 0-59

A more generous curve may be used, but should not be expected.

Schedule/Outline:

A diagram of the topics to be covered in this course is below.

This syllabus and the course schedule are subject to change by the instructor. All changes and related justification will be announced in class, and updates will be reflected in this web version. Lecture slides/notes will be maintained on Blackboard.

WeekDayDateTopicAssignment/Assessment
1Monday1/24First Day of Class
Overview + Syllabus
Wednesday1/26Formal Logic
Propositions
Friday1/28Compound Expressions
Intensional Semantics
2Monday1/31Intensional Semantics
Truth Tables
HW1 Assigned
Wednesday2/2Truth Tables
Extensional Semantics
Friday2/4Truth Table Arguments
Boolean Algebra
HW1 Due
3Monday2/7Boolean AlgebraHW2 Assigned
Wednesday2/9Boolean Algebra
Friday2/11Bitwise OperationsHW2 Due
4Monday2/14Logic Circuits
Wednesday2/16Natural Deduction: Conjunction and Implication
Friday2/18Natural Deduction: Proof by Contradiction
5Monday2/21Propositional Logic, concluded.
First-Order Predicate Logic
HW3 Assigned
Wednesday2/23Natural Deduction: Proofs with Quantifiers
Friday2/25Snow Day
6Monday2/28Exam 1
Wednesday3/2Discrete Structures, Sets
Friday3/4Sets, continuedHW3 Due
7Monday3/7Power sets, cartesian productHW4 Assigned
Wednesday3/9Counting with Sets
Friday3/11Sets and RelationsHW4 Due
8Monday3/14No Class - Spring Break
Wednesday3/16No Class - Spring Break
Friday3/18No Class - Spring Break
9Monday3/21Relations
Wednesday3/23Relations and Functions
Friday3/25Functions, continued
10Monday3/28Exam 2
Wednesday3/30
Friday4/1
11Monday4/4
Wednesday4/6Quest Day
Friday4/8
12Monday4/11Recursion and Induction
Wednesday4/13InductionHW6 Due
Friday4/15No Class - Easter Weekend
13Monday4/18Formal Languages
Wednesday4/20Regular Expressions and Grammars
Friday4/22Exam 3
14Monday4/25Deterministic Finite AutomataHW7 Assigned
Wednesday4/27
Friday4/29
15Monday5/2
Wednesday5/4
Friday5/6Last Day of Class
Finals WeekWednesday5/11, 5/13Wednesday / Friday 10:30-12:30Final Exam

Mental Health:

Stress is a normal and important part of our human experience. However, there are times when your stress will exceed your coping skills and resources. The changes that we have experienced due to the COVID-19 pandemic have impacted us all in various ways and are expected to continue to do so for the foreseeable future. Your health and well-being are critical components in your ability to learn. If you find that you are struggling to engage and function, please reach out. Resources are available, including Counseling Services, oswego.edu/csc, which provides brief and confidential counseling support to enrolled students (covered by your student health fee.) After-hours crisis coverage is available by calling Counseling Services at 315.312.4416 and listening to the available options. The CrisisTextLine can be accessed by texting GOT5U to 741741. Lastly, the Oz Concern Navigator, oswego.concerncenter.com, is now available to point you to additional resources to help you address your concerns.

Academic Integrity:

SUNY Oswego is committed to Intellectual Integrity. Any form of intellectual dishonesty is a serious concern and therefore prohibited. You can find the full policy online. While it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own. You may not turn in code found on the internet. If you have any problems doing the assignments, consult the instructor. See my page on plagiarism for an explanation of what we consider cheating. All parties involved in academic integrity violations will receive a score of zero for that quiz/exam/assignment, and all violations will be reported. Repeat violations, including across semesters, will result in failing the course.

Accessibility:

If you have a disabling condition which may interfere with your ability to successfully complete this course, please contact Accessibility Resources located at 155 Marano Campus Center, phone 315.312.3358, access@oswego.edu.

Clery Act / Title IX Reporting:

SUNY Oswego is committed to enhancing the safety and security of the campus for all its members. In support of this, faculty may be required to report their knowledge of certain crimes or harassment. Reportable incidents include harassment on the basis of sex or gender prohibited by Title IX and crimes covered by the Clery Act. For more information about Title IX protections, go to https://www.oswego.edu/title-ix/ or contact the Title IX Coordinator, 405 Culkin Hall, 315-312-5604, titleix@oswego.edu. For more information about the Clery Act and campus reporting, go to the University Police annual report: https://www.oswego.edu/police/annual-report.