Meetings: The class meeting and final exam times can be found on your Student Center (https://my.csus.edu/). They can also be found at https://www.csus.edu/student-life/class-schedules/ and https://www.csus.edu/academic-affairs/internal/final-exam-schedule.html.
Instructor: Ted Krovetz. Office: 5012 Riverside Hall. Email: tdk@csus.edu. Web: http://krovetz.net/csus. Office Hours: See http://krovetz.net/oh for a list of times. It is changed occasionally, so check before coming. No appointment necessary.
Texts: We will only use freely available materials. For example: Book of Proof, Third Edition, Richard Hammack, Creative Commons license, 2018, https://www.people.vcu.edu/~rhammack/BookOfProof/; and Discrete Mathematics: An Open Introduction, Third Edition, Oscar Levin, Creative Commons license, 2019, http://discrete.openmathbooks.org/.
Webpage: http://krovetz.net/28. This course does not use Canvas.
Catalog Description: Introduction to the essential discrete structures used in Computer Science, with emphasis on their applications. Topics include: counting methods, elementary formal logic and set theory, recursive programming, digital logic and combinational circuits, real number representation, regular expressions, finite automata.
Prerequisite: MATH 26A or MATH 29; and CSC 20; CSC 20 may be taken concurrently.
Announcements, Questions and Feedback: Electronic communication will take place using Piazza. You must get a free Piazza account at https://piazza.com/csus/spring2020/csc28 to receive email announcements and ask questions. Students are encouraged to answer each other's questions. Course feedback is also encouraged. If something about the course frustrates you, please let me know. Piazza allows anonymous posting, if you like.
Homework: Homework is assigned in this class, but not graded. The purpose of the homework is to give you practice in the material and prepare you for your quizzes and exams. Because it is ungraded, you may do the homework any way that you see fit. Research shows that students learn more when they complete homework independently, so I would suggest that you do as much as you can on your own and then work with others to complete the problems you find more difficult. Another piece of advice is to start your work early, so that you have time to get help, if you need it, before quizzes and exams.
Exams & Quizzes: There will be no midterm exams. Instead there will be several short closed-note, closed-book quizzes, each announced at least two class meetings ahead of time. Your grade will be based entirely on your quizzes and final exam. No make-up quizzes will be allowed. Up to two quizzes will be dropped to accommodate poor performances and any unforeseen absence. The final exam will be cumulative and you are allowed to bring one double-sided letter-sized sheet of hand-written notes.
Grading: Your course score will be calculated three ways: (i) two quizzes dropped and final worth 60%, (ii) one quiz dropped and final worth 50%, and (iii) no quizzes dropped and final worth 40%. Whichever gives you the highest score will be used for grading purposes. Each quiz not dropped is worth an equal portion of the remaining percentage. This means you are best off if you do well on all your quizzes (taking some pressure off the final exam) but also that you can do poorly or miss two quizzes and still do well in the class by doing well on the final.
Your weighted average will determine your grade: A for 90+, A- for 85+, B+ for 80+, B for 75+, B- for 70+, C+ for 65+, C for 60+, and C- for 55+. A failing grade or extra grade reduction may be given if you do not get at least 50% of available points on the final exam and a majority of the given quizzes.
Advice: If you wish to do well in this class try to do all of the following. (i) Attend class. Although attendance is not taken during lecture, those who skip class usually do less well. (ii) Ask and answer questions in class. One of the best ways to learn is through a dialogue guided by questions and answers. And, you should ask questions when something does not make sense. Do not be afraid -- you will benefit through your participation and the class will be more dynamic and interesting. (iii) Ask questions outside of class. Office hours and Piazza are usually underused. (iv) Do your homework early so that you can get help if needed. Only through practice will you be able to do similar problems on an exam. (v) Study worked-out solutions whether supplied by me or found in our textbook. Study and emulate them until you understand.
Privacy: To maintain the privacy of your educational record, you will establish a four-digit number that you should keep private and use for all identification purposes on graded work. If you forget your four-digit code, come to office hours to recover it. If you write your name on a quiz or exam, you waive your right for the quiz or exam to be returned to you in a way preserving your privacy.
Regrading: If you believe you lost points on some work even though your solution was correct, resubmit the entire work, within a week of when it was first returned to the class, with a letter describing your concern. Double check that your proposed solution was correct before resubmission.
Outcomes: The computer science department has established the following as the most important learning outcomes for this course:
Thorough understanding of:
1. Sets and basic operations on sets.
2. Method used in the construction of a recursive algorithm to solve a word problem.
3. Conversion of an English-language statement of a compound proposition (including and, or, not, and quantifiers) to a symbolic form.
4. Determination of the logical equivalence of propositions and the validity of formal arguments via truth tables.
Basic understanding of:
1. Proof methods including proof by induction and by contradiction.
2. Relations and functions, their definition and properties.
3. Arithmetic functions important to Computer Science (eg, ceiling, floor, integer division, modular reduction.
4. Design and construction of a combinational circuit from a verbal description, including the use of Karnaugh maps and nand/nor gates.
5. Regular expressions (can compose a valid expression for a simple regular language).
6. Finite automata (is able to construct a valid recognizer for a simple regular language).
Exposure to:
1. Basic counting principles.
2. IEEE floating-point standard.