Hi There!

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

CSC221 – Spring 2023

Foundations of Computer Science

Quick Links: Grading | Schedule | Google Drive Folder

Instructors:

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

Class Meeting Times:

MWF 11:30am-12:25am, Shineman 174

Office/Lab Hours:

Prof. Schlegel: Monday 2-3, Tuesday 10-11, Wednesday 3-3:55, 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 hard copy in class.

Due dates for assignments are firm – no late assignments are accepted. Assignments must be submitted at the beginning of class. 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, listed on the below course schedule. 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 in the Google Drive folder.

WeekDayDateTopicAssignment/Assessment
1Monday1/23First Day of Class
Syllabus & Overview
Wednesday1/25Class Cancelled - Dan Sick
Friday1/27Propositional Logic introduction
2Monday1/30Compound Propositions
WFPs
Wednesday2/1Intensional semantics
Building WFPs from the semantics
Friday2/3Snow Day!Assignment 1 Due Friday 2/10
3Monday2/6Extensional semantics, models,
truth tables, and expression evaluation
Wednesday2/8Equivalence
Boolean Algebra
Friday2/10Boolean AlgebraAssignment 2 Due Friday 2/17
4Monday2/13Boolean Algebra
Circuit Diagrams
Wednesday2/15Binary Representations
Friday2/17Binary Operations
Natural Deduction Intro
5Monday2/20No ClassAssignment 3 Due Monday 2/27
Wednesday2/22Natural Deduction
Friday2/24Exam 1Exam 1
6Monday2/27Natural Deduction, contd.Read Natural Deduction document on the Google Drive!
Wednesday3/1Indirect Natural Deduction ProofsAssignment 4 Due Friday 3/10
Friday3/3No Class
7Monday3/6First Order Logic
Wednesday3/8Natural Deduction, concluded
Friday3/10Set Theory, introduced
8Monday3/13No Class - Spring Break
Wednesday3/15No Class - Spring Break
Friday3/17No Class - Spring Break
9Monday3/20Sets, continued
Wednesday3/22Method Signatures, Cartesian Product
Friday3/24Power sets, Relations
10Monday3/27Recap and More RelationsAssignment 5 Due Monday 4/5
Wednesday3/29Relations + Functions
Friday3/31Computer Functions
11Monday4/3Functions, contd
Wednesday4/5Higher Order Functions
Friday4/7Recursion + Induction
12Monday4/10
Wednesday4/12Recursion + Induction
Friday4/14Exam 2Exam 2
13Monday4/17Tower of Hanoi
Wednesday4/19Quest Day, No Class
Friday4/21Regular Expressions
14Monday4/24Languages + Grammars
Wednesday4/26DFAs
Friday4/28DFAs + NFAs
15Monday5/1NFAs + TMs
Wednesday5/3TMs
Friday5/5No Class - Dan at a conference
Dan's Finals Week Office Hours:
Monday: 9:30-11
Tuesday: 10-11
Finals WeekWednesday5/10Final Exam 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.