605.203.82 - Discrete Mathematics

Computer Science
Spring 2024

Description

This course emphasizes the relationships between certain mathematical structures and various topics in computer science. Topics include set theory, graphs and trees, algorithms, propositional calculus, logic and induction, functions, relational algebra, and matrix algebra. Prerequisite(s): Calculus is recommended. Course Note(s): Not for graduate credit. A mathematics course beyond one year of calculus is needed for admission to the Computer Science, Cybersecurity, or Data Science program. A course in either calculus or discrete mathematics is needed for admission to the Information Systems Engineering program. Students who lack this prerequisite can fulfill admission requirements by completing this course with a grade of B– or better.

Expanded Course Description

We recommend this course be taken by itself.  If you have significant travel requirements limiting your Internet access, you may wish to reconsider taking this course.  This course requires programming experience in Java or Python. The catalog has been updated to reflect that requirement. If your programming experience is minimal or rusty then a refresher course first may be appropriate. This course will be offered in Spring 2024.  An onsite version is offered in the Fall terms.

Instructor

Default placeholder image. No profile image found for Eleanor Chlan.

Eleanor Chlan

echlan1@jhu.edu

Course Structure

The course materials are divided into modules which can be accessed by clicking Course Modules on the left menu. A module will have several sections including the overview, content, readings, lectures, discussions, quizzes, and assignments. You are encouraged to preview all sections of the module before starting. You should regularly check the Calendar and Announcements.

Course Topics

Course topics Include:

Course Goals

This is an undergraduate course in topics in discrete mathematics designed to help students meet the mathematics requirements for admission into the part-time graduate program in Computer Science.  The course will attempt to provide the appropriate background and motivation for the study of advanced topics in Computer Science. 

By the end of the course, you will be able to:

Course Learning Outcomes (CLOs)

Textbooks

There are two required textbooks for the course. The first is:

Rosen, K.H. (2012). Discrete mathematics and its applications (7th ed). New York, NY: McGraw Hill.  ISBN-10: 0073383090; ISBN-13: 978-0073383095
For Fall 2023, we will switch to the 8th edition.

Textbook information for this course is available online through the appropriate bookstore website: For online courses, search at http://ep.jhu.edu/bookstore.

The other required text is an e-book.  Click on the “Reading 1” link in Module 1 and subscribe using your JHU email - Do not go to the zyBooks website and create a new account. A subscription is $58 and will last until May 30, 2023. Students will be able to subscribe until May 2, 2022.  You must access the text from within each module and within the time frame of the module to get the credit.

Required Software

This course assumes you have access to a personal computer or laptop to use for programming during the course. The operating system can be Windows (recommended), Linux, or MacOS.  You may use Java , but Python is recommended. You may not use MATLAB or a scripting language.  You should download and install an IDE for Java or Python (Jupyter is not permitted). Then spend some time becoming comfortable with it.

NOTE: Problems with the computer system that you have chosen to use for developing your programming assignments do NOT constitute a legitimate excuse for late assignments. You are strongly encouraged to have backup arrangements in the event of a drive failure, power problems, or other issues that limit your access.

Mathematical Symbols

At various points during the semester, you may need to submit work incorporating mathematical symbols. There are several options for dealing with this.

o   Scanner Pro  
o   Turbo Scan  
o   OneDrive built in scanner 
o   Office Lens. CamScanner. Adobe Scan. For both Android and iOS
o   Genius Scan.
o   Scanbot. ...


Student Coursework Requirements

It is expected that each module will take approximately 10-15 hours per week to complete. Here is an approximate breakdown: reading the assigned sections of Rosen and doing the assigned practice problems (approximately 2-3 hours per week), reading the assigned sections of the zyBook and doing the interactive exercises (approximately 1-2 hours per week), listening to the audio annotated slide presentations (approximately 2-3 hours per week), and taking the quizzes (approximately 1 hour, including review), participating in the discussions (approximately 2 hours per week, when needed) and doing assigned homework (approximately 3-4 hours per week) and working on collaborative problems or projects (approximately 2-4 hours per week).  You must be able to commit time during the week for this course.  You will not be able to do everything you need to do solely on the weekends

This course will consist of seven basic student requirements:

Homework Assignments (25% of Final Grade Calculation)

Practice Homework – These are problems out of the physical textbook and are NOT graded. You are expected to work as many as needed to help master the material and be ready to tackle the graded homework.  A range of problems is assigned each week.  You should do the odd problems which have answers in the back.  You should check your work and use the answers to identify any errors in your work. These problems are fair game for quizzes.
Graded Homework - There will be assigned weekly homework. The number of assigned problems varies each week since the usefulness of written homework varies with the content. Solutions will be released two days after the end of the module and are found in the module in which assigned. Include your name as part of the file name, e.g., JSmithHW1.pdf, and include your name inside the file.

Collaborative Problems (12% of Final Grade Calculation) 

Collaborative Problems, (three, with peer reviews) – the idea is to help each other understand the material then write up and submit a group solution. Each collaboration is worth 40 points and is graded as follows.
16 points – Peer reviews – up to four points from each of four peers in your group. Students will not be penalized for failure of a peer to submit a review. Peer scores for groups of other sizes will be scaled.
24 points – Group solution of the collaborative proof. Point distribution will vary with the problem.

Projects (30% of Final Grade Calculation) 

There are three projects (3-5 weeks span) (each at 10%), requiring programming in Python, or Java. MATLAB and scripting languages may not be used.
The general project rubric is
Code - 10% - appropriately modular, well documented, and in an approved language
Correctness - 40% - your program works correctly and generates the desired type of output, is run with the required inputs and gives the desired results. You must include copies of your output, including output to show off special features.
ANALYSIS - 50% - The analysis also needs to include a discussion of your problem-solving strategy, a reflection on what you learned, and thoughts on what you would change if you had to redo it. If the project asks for a proof, formula, table, or computation, it will be graded in this section.
Late projects are penalized 5% per day late.
Please see the Project Guidelines published in the course website for more specifics.

Discussion (10% of Final Grade Calculation) 

There are several opportunities for discussion and reflection over the course of the semester.

Some Notes about Discussions - If you are unfamiliar with discussion forums you may be unsure about exactly what you are supposed to post, so here are some guidelines.

o   Providing additional information to the discussion.
o   Elaborating on previous comments from others.
o   Presenting explanations of concepts or methods to help fellow students.
o   Presenting reasons for or against a topic in a persuasive fashion.
o   Sharing your own personal experiences that relate to the topic.
o   Incorporating relevant graphics or diagrams
o   Providing a URL and explanation for an area you researched on the Internet.
Discussion Rubric The general discussion rubric evaluates students both on the quality and quantity of their discussion postings. See the rubric below.  
Muddy Point Discussion Rubric The muddy point discussion rubric evaluates students both on the quality, timing, and distribution of their discussion postings. See the rubric below.  

Online Text Interaction (10% of Final Grade Calculation)

You will need to complete the interactive exercises in the online textbook. Parts of the zyBook marked optional will not be scored, but you are encouraged to complete them. While it is preferred that you complete activities within the time frame of the module, for time management reasons, you may work ahead and still get the credit. You can track your zyBook performance on the zyBook website. You must click on the zyBook Activity link in the Module to make sure your credit is posted back to the gradebook.

Show and Tell (5% of Final Grade Calculation)

In each module, three students will each record and present a short video on an interesting mathematical item for Show and Tell.  Signup and a rubric are in Module 0. Students presenting will be graded on the depth of their presentation and its applicability to the course, and in particular its applicability to the module in which it is presented.  They will also be graded on their response to comments and questions by others. Videos should be posted no later than Sunday midnight to allow others time to view and comment.  If you are not presenting, participate for extra credit by asking questions and making comments, which are due by Tuesday midnight. The extra credit will be added to your presentation score. Students presenting in the same week must coordinate to prevent overlap.

Quizzes (10% of Final Grade Calculation)

Each module of the course content has one or more quizzes items in the module. You are expected to complete these each week during the associated module to gauge their mastery of the material and identify areas needing additional study and review. These questions are scored by the computer. Quizzes are weighted proportionally. Quizzes will remain available until the beginning of Module 14 for study and review purposes.  You will get one attempt on each quiz and generally a time limit of 30 minutes. A couple of quizzes will allow additional time. The lowest quiz will be dropped. Where there are terminology differences between the lectures, Rosen text and zyBook, the quizzes will go by the lecture.

Grading Policy

Grades will be based on 1000 points over the semester. All students need to get a B- or higher in Discrete Mathematics to satisfy the prerequisite requirement. Students earning a grade below B- will not be allowed to move forward with the program.  As you see from the table, there are some extra credit points available in most of the grade components.  We will use a +/- grading system with grades of A+, A, A-, B+, B, B-, C, and F possible, as follows:

Score RangeLetter Grade
100-98= A+
98-94= A
94-90= A−
90-88= B+
88-84= B
84-80= B−
80-70= C
<70= F

Due Dates

A note about due dates: All times are specified in terms of EST/EDT, local to the instructor. Final Discussion posts, zyBook, homework, quizzes, collaborative problems, and projects for the module are always due on Tuesday 11:59 PM. See the calendar and course outline.  LATE work will not be accepted, except by prior arrangement. Submissions after the deadline will be accepted by Blackboard but will be marked late. We generally will not quibble over a couple of minutes lateness. Multiple submissions will also be accepted, so if you think of something you forgot to do, a new answer for a question, or if we ask you to redo something, just go ahead and resubmit to Canvas in the same place as the first submission. There is a three-hour grace period on the deadline for homework and projects only.

Final grades will be determined by the following weighting:

Item

Note

% of Grade

Homework assignments

Assigned weekly

25%

Projects

10% each

30%

Discussion/Participation

zyBook (10%)

Show and Tell (5%)

3 Muddy Point Discussions (6%)

Miscellaneous (2%)

23%

Collaborative Problems

3 problems over the semester

12%

Quizzes

Assigned weekly

10%

Total

 

100%



Course Policies

Plagiarism

Plagiarism is defined as taking the words, ideas or thoughts of another and representing them as one's own. If you use the ideas of another, provide a complete citation in the source work; if you use the words of another, present the words in the correct quotation notation (indentation or enclosed in quotation marks, as appropriate) and include a complete citation to the source. See the course text for examples.

Students should read policies pertaining to academic misconduct and netiquette at http://ep.jhu.edu/genpolguid. Please read below to see how the Academic Misconduct Policy applies to this class. You will be asked to take an Honor Pledge.  You are expected to do your own work and turn in your own work. Help from other sources must be acknowledged. It is okay to discuss problems with others for perspective or to make sure you understand it correctly, but the code you write must be your own. Downloading code from other sources for the programming assignments 1, 2, and 3 is not allowed. Contact me if you have any questions, no matter how slight, about this policy, or if you have questions about a particular assignment.  Students violating this code will receive a zero on the plagiarized work, e.g., plagiarizing a homework problem will result in a zero on the entire homework assignment or a plagiarized quiz problem will result in a zero on the quiz. Plagiarism will be reported to the Associate Dean.  Subsequent incidents will result the student failing the course.

Academic Policies

Deadlines for Adding, Dropping and Withdrawing from Courses

Students may add a course up to one week after the start of the term for that particular course. Students may drop courses according to the drop deadlines outlined in the EP academic calendar (https://ep.jhu.edu/student-services/academic-calendar/). Between the 6th week of the class and prior to the final withdrawal deadline, a student may withdraw from a course with a W on their academic record. A record of the course will remain on the academic record with a W appearing in the grade column to indicate that the student registered and withdrew from the course.

Academic Misconduct Policy

All students are required to read, know, and comply with the Johns Hopkins University Krieger School of Arts and Sciences (KSAS) / Whiting School of Engineering (WSE) Procedures for Handling Allegations of Misconduct by Full-Time and Part-Time Graduate Students.

This policy prohibits academic misconduct, including but not limited to the following: cheating or facilitating cheating; plagiarism; reuse of assignments; unauthorized collaboration; alteration of graded assignments; and unfair competition. Course materials (old assignments, texts, or examinations, etc.) should not be shared unless authorized by the course instructor. Any questions related to this policy should be directed to EP’s academic integrity officer at ep-academic-integrity@jhu.edu.

Students with Disabilities - Accommodations and Accessibility

Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.

For further information or to start the process of requesting accommodations, please contact Student Disability Services at Engineering for Professionals, ep-disability-svcs@jhu.edu.

Student Conduct Code

The fundamental purpose of the JHU regulation of student conduct is to promote and to protect the health, safety, welfare, property, and rights of all members of the University community as well as to promote the orderly operation of the University and to safeguard its property and facilities. As members of the University community, students accept certain responsibilities which support the educational mission and create an environment in which all students are afforded the same opportunity to succeed academically. 

For a full description of the code please visit the following website: https://studentaffairs.jhu.edu/policies-guidelines/student-code/

Classroom Climate

JHU is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone has the right to be treated with dignity and respect. Fostering an inclusive climate is important. Research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. At no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity. 
 
If you have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to the course instructor directly. Reporting will never impact your course grade. You may also share concerns with your program chair, the Assistant Dean for Diversity and Inclusion, or the Office of Institutional Equity. In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).

Course Auditing

When a student enrolls in an EP course with “audit” status, the student must reach an understanding with the instructor as to what is required to earn the “audit.” If the student does not meet those expectations, the instructor must notify the EP Registration Team [EP-Registration@exchange.johnshopkins.edu] in order for the student to be retroactively dropped or withdrawn from the course (depending on when the "audit" was requested and in accordance with EP registration deadlines). All lecture content will remain accessible to auditing students, but access to all other course material is left to the discretion of the instructor.