Skip to Main Content

Introduction to Discrete Structures

Computer Science Department

Syllabus

Welcome to Introduction to Discrete Structure  CS205. In this course you will be introduced to mathematical foundations that are required of a CS major. 

  • Learning Goals

    • Prepare students to contribute to a rapidly changing field by acquiring a thorough grounding in the core principles and mathematical foundations of computer science (e.g., techniques of program analysis, proof techniques such as induction; basic foundations of theoretical computer science).
    • Students will acquire a deeper understanding on the abstract models of computing such as finite state automata, Turing machines and build programs based on these models of computing. Students will also acquire skills in reasoning about programs using loop invariants and contracts.
    • Students will be prepared for the upcoming theoretical computer science courses in the curriculum as well as explaining the ability to reason about programs, a key component in software validation.

    Textbook, Discussions and Supplemental Videos

    • Recommended: Discrete Mathematics and its applications, Kenneth Rosen, Rutgers Edition, 7th Edition, ISBN-978-1259-15215-4.
    • Recommended: Supplemental videos are curated from publicly available videos and made available through Princeton University originated platform CUvids – https://cuvids.io/app/course/35/  (Links to an external site.) You are strongly encouraged to watch the videos prior to class. Relevant video links can be found on the schedule. 
    • Questions and Discussions : on Piazza

    Grading

    • Students are assigned problem sets every other week. The problem sets (psets) are submitted on Gradescope and will be graded on a common rubric provided to all graders. We provide some comments when we like what you write or when we find some gaps in your understanding.
    • Students are given weekly quizzes (~10) to test their understanding of the most recent material. Quizzes are given on canvas and cannot be retaken.
    • Midterm will cover all material up to week 7 and will be given online (dates TBA).
    • Final exam will cover 75% of the material from post-midterm lectures and 25% of the material from pre-midterm lectures. The final exam duration is 2 hours and date, time and location/Zoom will be announced through canvas.
    • The grading scale is as given below:

    Grades for this course will be determined through a number of assignments. We recognize that different kinds of assignments feed into the strengths of different students, and we work to provide a range of opportunities for you to show what you’ve learned.

    Grading Scale:

    90-100         A

    80-89           B, B+

    70-79           C, C+

    60-65           D

    65-Below    F

    Final Grade Breakdown:

    6-7 PSets                  40% of final grade

    Weekly Quizzes  30% of final grade

    Midterm                  10% of final grade

    Participation         10% of final grade

    Final Exam              10% of final grade

Your section

  • Jie  
  • JJ
  • Andy

 

CS205 meets SAS goals QQ or QR, ITR:

  • Formulate, evaluate, and communicate conclusions and inferences from quantitative information. [QQ]
  • Apply effective and efficient mathematical or other formal processes to reason and to solve problems. [QR]
  • Employ current technologies to access and evaluate information, to conduct research, and to communicate findings, and understand the principles that underlie information systems.[ITR]
5102AwbnX7L._SX374_BO1,204,203,200_

Required textbook Discrete Mathematics and Its Applications  2nd Edition, Kenneth Rosen

Book site 

Academic Integrity

You are responsible for reading and understanding the DCS Academic Integrity Policy. Read the overview as well as the specific policies for exams. Instances of cheating will be punished by a zero grade, a failing grade for the course, and/or referral to your dean, at the discretion of the course staff.

All assignments and exams are individual but we encourage collaboration with course staff and classmates. However, you must be careful how you collaborate. Use the guidelines bellow for reference:

Course staff Classmates Other people
Discuss concepts with: Yes Yes Yes
Acknowledge collaboration with: Yes Yes Yes
Expose code/solutions to: Yes No No
Copy code/solutions from: No No No

Lectures

Attendance is expected and participation is very welcomed. Everyone benefits when you attend lecture and ask questions. Note that some examples might not be in the lecture slides. If you miss a lecture, you are responsible for getting class notes from a classmate.

You will find the links for remote lectures under the last name of your instructor on the course Canvas home page.

Recitations

Recitations are the shorter of the listed periods on your class schedule listed as CS111. i.e. the only CS111 class meeting time that is NOT 1 hr 20 min. The recitation period is problem-solving oriented and is led by a Learning Assistant (LA), a senior undergraduate student that has taken CS111 previously. The Dynamic Recitation (DynRec) system releases the problems ahead of the week’s recitation and the solutions the Monday of the following week. Use your Rutgers credentials to login into DynRec.

Each recitation is 10 points: 

  • Synchronous recitations have 8 points for attendance and 2 points for the DynRec online quiz.
  • Asynchronous recitation have 10 points for the DynRec online quiz.

You will only receive the quiz points if you attend the recitation. The quiz requires an activation code that is disclosed by the LA at the end of recitation. Asynchronous recitations have the code at the end of the recitation video. The code is section specific, changes weekly, and it will ONLY be disclosed in person at the end of recitation. The online quiz is to be taken up to 24 hours after the end of the synchronous recitation and until Saturday for asynchronous recitations.

Attend the recitation you are registered for and have your camera on, if you do not you will not receive credit for attendance or receive the quiz code. If you have specific concerns about having your camera on contact your professor.

You will find the links for remote recitation under Recitations on the course Canvas home page.

Assignments

Assignments involve programming and written work. The due dates are strictly followed by the course staff. All assignments are due at 11:00PM, no exceptions.

Written assignments are to be submitted via Gradescope, and programming assignments via AutoLab. No assignments will be accepted via e-mail.

Always make a copy of your assignment. Remember that technical problems happen and that due dates are enforced.

Gradescope: when your first written assignment is released you will receive an email from Gradescope with login information.

Autolab: when your first programming assignment is released you will be able to login into AutoLab using your Rutgers credentials.

Also note that if Gradescope or AutoLab is busy it may take some time before it gets to your submission request. If the deadline passes while you are waiting, your assignment will not be accepted. In other words, if you try to hand in your work close to the end of the deadline, you may be too late. 

Written Assignments

Plan to submit your assignments on time, no late assignments are accepted.

Programming Assignments

Programming assignments are graded automatically by AutoLab. Your program must compile without errors on Autolab – otherwise you will not receive any credit for the assignment. For each problem, your code will be tested using a suite of test cases, and you will receive credit for each case on which your code performs correctly. AutoLab will not display a score but it will give you feedback on your submitted program, which you can then update and submit again for grading. You have 3 submissions without deductions; 5% of the problem total points are deducted for every submission thereafter. Autolab uses the last submission for the assignment grade. If you choose to resubmit your program we understand that you are confident that you have addressed the hints given as feedback. Always read the feedback!

Plan to submit your work with at least one day in advance. Depending on the load AutoLab may take up to 1 day to give you feedback. AutoLab uses Java 11 to compile and run assignment’s test cases. After each submission the feedback includes a written text and a light:

  • red means that either your program didn’t compile or it passed very few of our test cases (0 – 20% of points);
  • yellow means that your program passed some test cases (21 – 80% of points);
  • green means that your program passed most of our test cases (81 – 100% of points).

Programming assignments have a built-in extension of 3 days. The extension works are follows:

  1. if you submit up to 24 hours after the deadline a 10% penalty applies.
  2. if you submit after 24 hours but before 48 hours after the deadline a 20% penalty applies.
  3. if you submit after 48 hours but before 72 hours after the deadline a 30% penalty applies.

Grading

Programming assignments are automatically graded by Autolab, you will see your score under Autolab Gradebook the following day after the 3 days built-in extension has passed. Written assignment and quizzes are graded by a group of senior or graduate students in Gradescope and you will receive your score one week after the assignment due date or quiz date.

Regrades

For written assignments, quizzes and exams, you have one week after the grades are released to ask for a regrade. Only ask for a regrade if you think there was a grading error, do not request a regrade simply because you think you deserve more partial credit.

All programming assignments are autograded, make sure you read the Hints for each submission and correct your code accordingly before your next submission. Programming assignments are not regraded unless there is a problem on the autograder. A regrade of a programming assignment would involve running the same autograder code that Autolab runs, and that would not affect your grade. If your program does not perform correctly on a particular test case, you will not receive points for that test case. For all programming assignments you have one week after the grades are released to contest your grade. The grades are released the next day after the assignment is due. Submitting a regrade request.

Canvas

Canvas is a course management tool that will be used to keep students scores and send out announcements. Once registered to the course you will be automatically added to Canvas. Use your Rutgers credentials to login.

The course staff expects all students to read the announcements.

Piazza 

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the LAs, and instructors. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com. Find our class page at Canvas’s left menu under Piazza.

DO NOT post any assignment solution or partial solution on Piazza. Those posts will be promptly deleted.

Exams

There will be four exams, 3 midterms and 1 final. All exams are 130 points.

  • The lowest score of the 3 midterm exams will be dropped.
  • You can consult the textbook, notes, and assignments during exams.
  • You will have 80 consecutive minutes to complete a midterm exam and 3 consecutive hours to complete the final exam in a 24 hour period. 

Refer to the Exams page for exam dates. You are required to be available online to take the quizzes, so DO NOT make arrangements for those days. 

There are NO makeup exams. For each exam you have a 24 hour period in which to take the exam. You can submit your exam multiple times within the exam timeframe. For example, suppose the exam is 80 minutes long and you start your exam at 2PM then you have until 3:20PM to submit for the last time. The 80 minutes counts from the time you start your exam. Once the 80 minutes have passed at 3:20PM, even if you have time left you cannot access your exam. 

Students that require accommodations, such as extra time, must contact ODS at least two weeks before the quiz date. Email your accommodations letter to the course coordinator. Extra time will be added to your exam allowed time.

Grading

Your grade is computed out of 1000 points. The donut chart to the right has the distribution of the 1000 points among assignments, recitation attendance, quizzes and exams.

Each recitation is 10 points (8/10 attendance, 2/10 quiz). There are 13 recitations, you have to attend at least 10 recitations and take the respective quiz for the full 100 points. We will drop the 3 lowest recitations scores.

The 2 highest midterm exam scores and the final exam score will count toward your course grade.

To compute your grade sum up all the assignments, exams, and recitations points.

There is no curve: you must earn a minimum of 900 of the available points for an A, 850 for a B+, 800 for a B, 750 for a C+, 700 for a C, and 600 for a D. You will fail the course if you earn less than 600 points.

The cutoffs are strictly followed for each letter grade. A computed grade of 749.99 is a C not a C+.

Extra credit Surveys

For the purpose of improving the course, there are two surveys that you will be asked to fill out, an entry survey at the beginning of the semester and an exit survey at the end of the semester. The surveys are extra credit and each is worth 2.5 points.

The surveys will be sent in a Canvas announcement.

There are no other extra credits activities for the course. No exceptions.