Course Syllabus

Overview and learning objections

Welcome to Algorithms!  This is a 3 credit hour course, focused on a theoretical introduction to the design and analysis of algorithms.   The prerequisites are a class in Data Structures, as well as Calculus 2 and a Discrete Mathematics class.  Students should already have a basic familiarity with topics such as Big-O notation, recursion/induction, data structures, and proof writing.  

At the conclusion of this course, students should be able to:

  • Analyze the asymptotic performance of algorithms.
  • Write rigorous correctness proofs for a variety of algorithmic paradigms.
  • Demonstrate a familiarity with prominent algorithms and data structures.
  • Apply the major algorithmic design paradigms and be able to analyze them.
  • Develop efficient and correct algorithms for common code development projects.

Office hours

Unless otherwise announced, office hours will be in the General voice channel on discord - I will often move over to zoom for better sharing/whiteboard, but will always post the zoom link in discord during the office hour when moving over.  In addition to these times, I'm happy to meet at other times, so email to arrange a time!

  • Monday from 1-2pm
  • Tuesday from 2-3pm
  • Friday from 10-11am

Textbook

Your primary textbook will be the book Algorithms, written by Jeff Erickson. Note that the book is freely available as a pdf, or you may purchase a copy from Amazon. He also has a list of old homework and exam problems on the same webpage, which are a good additional source for practice problems.

In addition, I will occasionally pull material from the following textbooks, all of which are excellent references if you find yourself in need of a different explanation:

  • Algorithms, by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani
  • Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
  • Algorithm Design, by Jon Kleinberg and Éva Tardos
  • Algorithms, by Robert Sedgewick and Kevin Wayne

 

Homework and Grading

Graded work for this class will consist of the following:

  • Perusall: 20% 
    • Every Sunday and Thursday at 11:59pm, students will have a reading assignment due on Perusall.  As this discussion will replace much (if not all) of the usual in person interaction, your total Perusall score is worth 20% of your final grade.  I will drop the lowest score, and plan to offer one or two optional extra readings to help make up any missed assignments.  In cases where more serious accommodations are needed (i.e. illness, etc), please get in touch with the instructor.
  •  Homework (Written and Oral): 60%
    • I expect homework due every week, generally on Wednesday by 11:59pm.   Each homework will consist of 3 problems; occasionally there will be a 4th question, which is extra credit for undergraduates but required for graduate students. 
    • In addition, students will receive extra credit on any homework where they record at least 2 minutes of a group zoom discussion focused on that homework.  These should be submitted via email by ONE of the students in the group, with a clear list of students in attendance; note that each student is expected to contribute to the group meeting if in attendance (even if only by asking questions).
    • Written homework:  These will be submitted as pdfs on canvas, so be prepared to either scan or complete electronically.  If you're looking for a good typesetting for CS/math, I recommend latex - overleaf is a nice free option for things like homework.
    • Orally presented homework:  For 2-3 of your homework assignments, you will  present your solution via zoom to the instructor.  
    • Please read the handout on oral and written homework expectations, which will be posted separately.
  • Final exam: 20%
    • We will have one exam, which will be cumulative and set during finals week.  More details to come soon!

 

Additional resources and tools

Email: Email contact with the course instructor is a necessity in this class. I will check email several times throughout the work day, and will also check email once per evening to answer questions and resolve issues. Email contact over the weekend may be more sporadic, although I will be sure to check at least once.  In general, if you have contacted me and not heard back within 24 hours, please re-send!  I will at least ack and give you a timeline to expect my reply.   In terms of expectation: please make it as easy as possible for me to answer!  Clearly indicate the specific questions, so I can find them.  I’m often answering on my phone, so include specific questions.  For example, if you’ve tried to solve question 2 on homework 5 and are stuck: restate the HW question for me, and include a brief description of your approach so far (or better yet, a snippet of code or pseudocode), and then conclude with a specific question or two.  That will help me reply on my phone without needing to sit down and ssh in order to reload the homework and pull code from git, for example. 

Canvas announcements : As required by SLU, all assignments and announcements for this class will happen on Canvas, our assigned LMS. I plan to send weekly summary announcements, to go over expectations for the week, which will be sent/posted each weekend.  These will be configured on my end to be emailed to every student automatically; students should check their own settings to be sure email is enabled, if they do want them delivered via email.

Perusall: Our course text will be posted on Perusall, linked from our Canvas site. I plan to have readings due every Sunday and Thursday, by 11:59pm.  Perusall will also serve as our primary discussion board, as you will be expected to make 2-3 substantive comments on the reading for full credit on each assignment.

Zoom: All class sessions, office hours, and oral grading sessions with the instructor will happen via zoom. 

Discord: By popular demand, we have a discord now!  I'll likely use the voice channel for (some) office hours, since the waiting room makes zoom harder to monitor. 

Permanent link:  https://discord.com/channels/744930298390904864/744930298889764937

and temporary invite: https://discord.gg/w7B4tw

Attendance Policy:

This class meetings MWF from 9-9:50am, via zoom. Attendance is not mandatory for this class, but note that students often report the lectures are very helpful with understanding the material.  All lectures will be recorded via zoom and posted on this page. 

Zoom link:

Erin Chambers is inviting you to a scheduled Zoom meeting.

Topic: CSCI 3100: Algorithms
Time: 9-9:50am, MWF

Join Zoom Meeting
https://slu.zoom.us/j/95251300949?pwd=QzJvSzdWNnE1NmhBVW1KeEdpLzdCUT09

Meeting ID: 952 5130 0949
Password: 350224

One tap mobile
+13126266799,95251300949# US (Chicago)
+19292056099,95251300949# US (New York)

Dial by your location
        +1 312 626 6799 US (Chicago)
        +1 929 205 6099 US (New York)
        +1 301 715 8592 US (Germantown)
        +1 346 248 7799 US (Houston)
        +1 669 900 6833 US (San Jose)
        +1 253 215 8782 US (Tacoma)
Meeting ID: 952 5130 0949
Find your local number: https://slu.zoom.us/u/acEs5r62B0

Join by SIP
95251300949@zoomcrc.com

Join by H.323
162.255.37.11 (US West)
162.255.36.11 (US East)
115.114.131.7 (India Mumbai)
115.114.115.7 (India Hyderabad)
213.19.144.110 (Amsterdam Netherlands)
213.244.140.110 (Germany)
103.122.166.55 (Australia)
149.137.40.110 (Singapore)
64.211.144.160 (Brazil)
69.174.57.160 (Canada)
207.226.132.110 (Japan)
Meeting ID: 952 5130 0949
Password: 350224

Distance Education Etiquette:

Your actions in distance education contexts are just as important as in on-ground, face-to-face educational contexts – and sometimes require additional attention and commitment, as some distance education technologies might be less familiar to us.  Accordingly, all students are expected to follow the guidelines below: 

Synchronous Video Contexts (Zoom, etc.)

  1. Mute your microphone when you are not speaking. Remember to “un-mute” yourself just prior to speaking.  Identify yourself when you begin speaking.
  2. Expect a few seconds of delay in getting a response from the instructor or another class member to a question; wait before repeating your question or assuming it was not heard.
  3. If possible, position your camera such that your video feed does not capture too much of your surroundings or other activity/sound from your home/location. Be conscious of posters, art, or other surroundings that others might find offensive or inappropriate for an educational context.
  4. Use the “Raise Hand” and “Chat” (or similar) features of your video-conferencing tool. This limits verbal interruptions and the confusion generated when multiple people try to speak at once.   
  5. Just as in an on-ground, face-to-face class, limit side conversations, multi-tasking (on your computer or otherwise), and use of your cellphone.
  6. Temporarily turn off your video feed and mute your microphone when engaged in any non-class conversation or activity.
  7. Respect and be attentive to the diversity of your classmates and instructor. Before communicating, consider your message in the context of the class’ diversity in race, ethnicity, religion, disabilities, gender, sexual orientation, age, social class, marital status, geography, etc.  Consider the diversity you can see or know – as well as that you cannot.
  8. Remember that video-based class sessions (including chat transcripts) may be recorded and retrieved for later viewing.

Non-Video & Asynchronous Contexts (Blackboard, Canvas, Online Chats, Discussion Boards, etc.)

  1. When using the “Chat” or “Discussion Board” (or similar) features of your course management system, remember that your course-related communications to the instructor or other students should be considered “professional” (they are not like texts to your friends). Remember that course context and all related written work – including chat and discussion board transcripts – can be recorded and retrieved.
  2. Be cautious when using humor or sarcasm; without the context of facial expressions or other body language, your tone or intent could be missed or misunderstood by others.
  3. Respect and be attentive to the diversity of your classmates and instructor. Before communicating, consider your message in the context of the class’ diversity in race, ethnicity, religion, disabilities, gender, sexual orientation, age, social class, marital status, geography, etc.  Consider the diversity you can see or know – as well as that you cannot.
  4. Respect others’ time and life circumstances, which often don’t allow for an immediate response to a question or comment.  

 

Academic Integrity:

In the context of this course, I encourage students to discuss general course material, which includes studying for exams, sharing notes if a student must miss class, and working on any practice problems which are assigned. You are also allowed to turn in homework assignments in groups of three.  I also encourage you to discuss problems with other students, but please be careful to write up all solutions separately in your own group, and do not copy any material from another student. As a good rule of thumb, make sure to write your solutions without using any notes or papers written while talking to anyone other than your partner. Remember, you will be on your own in the exam, so it is in your own best interest to make sure that you really understand the material and can solve each problem on your own!

You are allowed to use outside sources of information in this class, including textbooks and webpages. If the complete and correct answer is on page 263 of the textbook, the best solution you can submit is "See page 263 of the text." Period. However, if you find a solution from any other source, such as a web page, a journal paper, a different algorithms textbook, or your mom, you must rewrite the solution in your own words, and you must properly cite your sources. Assume the graders have access to all the official course material, but nothing else. While we strongly encourage you to use any outside source at your disposal, please remember that the homework is supposed to demonstrate that you understand of the material, not just how to use Google. In particular, verbatim copying is worth NOTHING, and will be considered a violation of the academic integrity policy. (Note that I'm also pretty good with google, so I wouldn't recommend trying it!)

Students who violate academic integrity policies will be reported to the department, particularly in cases where relevant sources are not cited or in cases of direct copying of another student's work. First time offenses on homework will result in a minimum of a failing grade on the assignment in question, with egregious or repeated offenses resulting in failure in the course. In addition, students may be referred to the College of Arts and Sciences for further disciplinary action.

Please see SLU's official Academic Integrity Policy, and get in touch if you have any questions about how this applies in our class!

 

Disability Services Academic Accommodations

Students with a documented disability who wish to request academic accommodations must formally register their disability with the University. Once successfully registered, students also must notify their course instructor that they wish to use their approved accommodations in the course. 

Please contact Disability Services to schedule an appointment to discuss accommodation requests and eligibility requirements. Most students on the St. Louis campus will contact Disability Services, located in the Student Success Center and available by email at Disability_services@slu.edu or by phone at 314.977.3484. Once approved, information about a student’s eligibility for academic accommodations will be shared with course instructors by email from Disability Services and within the instructor’s official course roster. Students who do not have a documented disability but who think they may have one also are encouraged to contact to Disability Services. Confidentiality will be observed in all inquiries.

 

Title IX:

Saint Louis University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. If you have encountered any form of sexual harassment, including sexual assault, stalking, domestic or dating violence, we encourage you to report this to the University. If you speak with a faculty member about an incident that involves a Title IX matter, that faculty member must notify SLU’s Title IX Coordinator and share the basic facts of your experience. This is true even if you ask the faculty member not to disclose the incident. The Title IX Coordinator will then be available to assist you in understanding all of your options and in connecting you with all possible resources on and off campus.

Anna Kratky is the Title IX Coordinator at Saint Louis University (DuBourg Hall, room 36; anna.kratky@slu.edu; 314-977-3886). If you wish to speak with a confidential source, you may contact the counselors at the University Counseling Center at 314-977-TALK or make an anonymous report through SLU’s Integrity Hotline by calling 1-877-525-5669 or online at https://www.lighthouse-services.com/_StandardCustomURL/LHILandingPage.asp. To view SLU’s policies, and for resources, please visit the following web addresses: https://www.slu.edu/here4you and https://www.slu.edu/general-counsel.

IMPORTANT UPDATE: SLU’s Title IX Policy (formerly called the Sexual Misconduct Policy) has been significantly revised to adhere to a new federal law governing Title IX that was released on May 6, 2020. Please take a moment to review the new policy and information on the following web address: https://www.slu.edu/here4you. Please contact the Anna Kratky, the Title IX Coordinator, with any questions or concerns. 

Course Summary:

Date Details Due