CMPSC-102 Discrete Structures (4 Credits)
When Do We Meet?
Academic Bulletin Description
An introduction to the foundations of computer science with an emphasis on understanding the abstract structures used to represent discrete objects. Participating in hands-on activities that often require teamwork, students learn the computational methods and logical principles that they need to create and manipulate discrete objects in a programming environment. Students also learn how to write, organize, and document a program’s source code so that it is easily accessible to intended users of varied backgrounds. During a weekly laboratory session students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions. Prerequisite: Knowledge of elementary algebra. Distribution Requirements: QR, SP.
In order to acquire the proper skills in technical writing, critical reading, and the presentation and evaluation of technical material, it is essential for students to have hands-on experience in a laboratory. Therefore, it is mandatory for all students to attend the laboratory sessions. If you will not be able to attend a laboratory, then please see the one of the course instructor at least one week in advance in order to explain your situation. Students who miss more than two unexcused laboratories will have their final grade in the course reduced by one letter grade. Students who miss more than four unexcused laboratories will automatically fail the course.
If you are already on the department’s Discord server, then you will be given access to the course’s Discord channel, called
#discrete-structures. If not, then you will need to join the department’s Discord server before you can be added to the course’s channel.
Syllabus and Planning Your Time
- See, README.md at
Programming and Mathematical Thinking: A Gentle Introduction to Discrete Math Featuring Python by Allan M. Stavely
Doing Math with Python: Using Programming to Explore Algebra, Statistics, and More by Amit Saha
Use your Gradebook Repository to receive updates from the instructor. The repository is only for receiving reports – you will never have to post to this repository.