CSE 150 Foundations of Computer Science - Honors
Fall 2025
Welcome to CSE 150! Public, mostly static information will be hosted on this
page. We will
use Brightspace for
homeworks, and Piazza for
discussions.
Course Description
This course introduces Computer Science Honors students to the logical and
mathematical foundations of computer science. From time to time, we will also
discuss problem solving strategies and techniques.
The main topics covered in this course will be:
- Logic, Sets and Relations
- Sets
- Propositional Logic
- Predicate Logic
- Relations and Functions
- Cardinality of infinite sets
- Structures
- Trees
- Graphs
- Directed graphs and properties of relations
- Counting
- Series and Summations
- Recurrences
- Counting techniques
- Probability
- Events and probability spaces
- Conditional probability
- Induction and Recursion
- Mathematical induction
- Recursion
- Intro to functional programming
This course will begin where your high school algebra left off, in
particular, the topics listed here. You are
strongly encouraged to brush up on these topics now, say, by taking one or
more of the sample NYS
Regents Algebra II tests, and reading up on your own to address weaknesses.
Unless you have a clear understanding of these concepts, you are unlikely to
be able to follow classroom lectures, or do well in this course.
DML: To reinforce the concepts we learn in this course, we will use
DML, a programming language custom-designed for this course. Most concepts
introduced in this course are directly expressible in DML. As a result, you not
only learn to write mathematical formulas but also "execute" them in many cases.
This will enable you to "debug" your formulas and definitions, and deepen your
understanding of the mathematical foundations of CS. Towards the end of the
semester, we will use DML to introduce programming --- specifically, functional
programming. You can access DML from your browser
here. DML language documentation is
available here in PDF.
Required Text:
Eric Lehman, F Thomson Leighton and Albert R Meyer, Mathematics for Computer Science
Lecture Slides and Recordings:
Videos from a previous offering of this course are available. However,
the material covered in the video won't always be an exact match for the
material we are teaching in class this year.
Grading
Homeworks (30%)
There will be about one homework every other week, excluding the
ethics homework that will be due in the first week of classes. Each homework
will be worth between 3% and 5% of the final grade.
- Don't try to Google or use AI for solving problems. It is against
the course policies. More importantly, it is detrimental to your learning
in an introductory course like this.
- You can discuss homework problems in broad terms in groups. But when
you get into the details, you should work on it by yourself. This is the only
way to ensure that you learn the material. If you rely on other's help for
homeworks, you will find that you will end up performing poorly in exams ---
note that exams have more than twice the weighting of homeworks.
Exams (70%)
There will be two midterms, each worth 16% to 20% of the course grade,
and a final exam that is worth 30% to 35%.
Any form of copying in the course, and all forms of academic dishonesty,
are considered serious offenses, and will be prosecuted to the maximum extent
permitted by university policies. The minimum penalty for any form of
copying, whether from your friends, the Internet or outside sources, or from
previous offerings of the course, will be an F-grade. Note that it is a
"one strike and you are out" policy, i.e., you end up with an F-grade regardless
of how well you have done in the course until then.
There will be no exceptions.
Instructor:
R. Sekar
Office: 364 New Computer Science
Office Hours: Posted on Piazza
TAs:
Information about the TAs and their office hours can be found on Piazza.
Class Place and Time:
- Lecture time/location: Tue/Thu at 11:00am to 12:20pm, New CS 120
- Recitation time/location: Tue at 12:30pm to 1:25pm New CS 120
- First lecture: August 26, Tuesday
- Last lecture: December 4, Thursday
- Final Exam: December 11, Thursday, 11:15am to 1:45pm New CS 120
- No classes:
- October 14 (Fall Break)
- November 27 (Thanksgiving Break)
Student Accessibility Support Center Statement
If you have a physical, psychological, medical, or learning disability that may
impact your course work, please contact the Student Accessibility Support
Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu.
They will determine with you what accommodations are necessary and appropriate.
All information and documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to
discuss their needs with their professors and the Student Accessibility Support
Center. For procedures and information, visit Environmental Health and Safety.
Academic Integrity Statement
Each student must pursue his or her academic goals honestly and be personally
accountable for all submitted work. Representing another person's work as your
own is always wrong. Faculty is required to report any suspected instances
of academic dishonesty to the Academic Judiciary. For more comprehensive
information on academic integrity, including categories of academic dishonesty
please refer to the academic judiciary website at
http://www.stonybrook.edu/commcms/academic_integrity/index.html
Critical Incident Management
Stony Brook University expects students to respect the rights, privileges, and
property of other people. Faculty are required to report to the Office of
Student Conduct and Community Standards any disruptive behavior that interrupts
their ability to teach, compromises the safety of the learning environment, or
inhibits students' ability to learn. Further information about most academic
matters can be found in the Undergraduate Bulletin, the Undergraduate Class
Schedule, and the Faculty-Employee Handbook.