Hi There!

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

CSC221 – Fall 2022

Foundations of Computer Science

Instructors:

Prof. Daniel R. Schlegel, 464 Shineman Center, daniel.schlegel@oswego.edu

Class Meeting Times:

MWF 10:20am-11:15am, Shineman 444

Office/Lab Hours:

Prof. Schlegel: Monday 1:45pm-2:45pm, Tuesday 9:00am-10:00am, Wednesday 3:00pm-4:00pm, and by appointment.

  • In Person: If my door is open feel free to check if I’m available.
  • Zoom: I don’t enjoy sitting on empty Zoom calls, so if you absolutely must meet via Zoom send me mail and we can schedule a Zoom meeting during office hours (but you have to show up!).

Tutoring:

The Office of Learning Services (OLS) has tutoring for CSC221.

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.

The current university policy will decide the class policy on masks and social distancing. Regardless of class policy, you can do more! If you wish to wear a mask, please do so! If you are sick with a potentially communicable disease, you should wear a mask and seriously consider staying home to prevent the spread of disease.

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 Brightspace 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 Brightspace. 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:

There will be two exams during the semester, one on Friday, September 23 and the second on Friday, November 4. The course content is naturally cumulative, but each exam will focus on material learned since the previous exam.

The final exam will will be given during finals week. Final exams are scheduled by the Registrar’s Office, to prevent conflicts. The final exam will be cumulative, with about 1/3 of the exam focused on material studied after Exam 2 and the other 2/3 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 115%
Exam 220%
Final Exam25%

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:

An overly ambitious 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 Brightspace.

WeekDayDate
1Monday8/22First day of class
Syllabus and Overview
Wednesday8/24Propositional Logic introduction
Friday8/26Well-Formed Propositions, Intensional Semantics
2Monday8/29Extensional Semantics, Truth Tables, Evaluation of Expressions
Wednesday8/31Propositional Logic Exercise
Friday9/2WFP Evaluation
Equivalence
Boolean Algebra
Assignment 1 due Friday 9/9
3Monday9/5Labor Day - No Class
Wednesday9/7Boolean Algebra
Friday9/9No Class - Dan Sick
See email for self-study of logic circuits
4Monday9/12Binary Representations
Wednesday9/14Binary Operations
Natural Deduction
Friday9/16Natural Deduction, continued
5Monday9/19Natural Deduction
Proof by Contradiction
Wednesday9/21Proof by Contradiction
First-Order Predicate Logic
Friday9/23Proofs with Quantified Statements
6Monday9/26Set Theory Introduction
Wednesday9/28Sets, continued.
Friday9/30Exam 1
Note this was moved from 9/23!
7Monday10/3Power Sets
Wednesday10/5Some Set Exercises
Friday10/7Relations
8Monday10/10Visualizing Relations
Wednesday10/12Properties of Relations
Friday10/14Fall Break - No Class
9Monday10/17No Class - Dan Sick
Wednesday10/19Relations, Partial Orders, Total Orders
Friday10/21Relations and Functions
10Monday10/24Functions
Wednesday10/26Computer Functions
Friday10/28Type Signatures
11Monday10/31Functional Programming / Higher Order Functions
Wednesday11/2More Higher Order Functions
Friday11/4Exam 2
12Monday11/7Recursive Functions
Wednesday11/9Induction
Friday11/11Grammars + Languages
13Monday11/14No Class - Dan Sick
Do reading on regular languages and regular expressions.
Wednesday11/16Deterministic Finite Automata
Friday11/18Nondeterministic Finite Automata
14Monday11/21Thanksgiving Recess - No Class
Wednesday11/23Thanksgiving Recess - No Class
Friday11/25Thanksgiving Recess - No Class
15Monday11/28Automata Practice, Turing Machines Introduced
Wednesday11/30Turing Machines
Friday12/2TMs, contd.
Last day of class
Finals WeekMonday12/5Final Exam 10:30-12:30

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.