CS 2223 D Term 2021: Algorithms

Objectives | Where & When | Day by day Schedule | Syllabus

Textbook & Software | Why Java? | Grading | Policies

Assistments

Canvas | Staff & Contact Information | Skills

First Lecture of term Wednesday 10AM March 24th.

Don't forget that "Wednesday follows a Monday schedule" so there will be a lecture on this day. This class will be delivered in Hybrid mode using the lecture room in upper Perreault hall. Seating restrictions are still in place, and this means no more than 36 students are able to attend an in-person lecture. All information regarding the lectures, homework assignments, and daily questions will be found in the Canvas web site.

I ask that all students use Discord to post general questions about a lecture or a homework assignment. Instructions on joining the discord server for this class can be found in a Canvas announcement.

I will hold six office hours throughout the week, and that is when you can ask me specific questions regarding your homework or questions you have about lecture. If you send me email about a class question, I will just repost it to discord and answer it there.

If you send me email about a personal concern, I will respond within 24 hours.


What This Course Is About

No doubt in your education you were instructed in the "industrial revolution". By all accounts, this long-lasting event, from the late 18th centry into the 19th century, transformed all of human society. One does not exaggerate when saying that every aspect of daily life was influenced in some way.

We are now in the midst of a similar revolution, which will only be placed in historical context by future generations. Where the Industrial Revolution changed the way goods are manufactured and distributed, the Information Technology revolution has created a digital ecosystem that pervades modern life. None of this would be possible without efficient software systems that control all aspects of the hardware devices that are connected to the Internet. And these systems would be infeasible to build without the numerous discoveries in algorithms.

Without a power source, the most powerful computer becomes nothing more than a fancy paperweight.

Without efficient algorithms, the software infrastructure would not function.

Course Objectives

For an official description of the course, see the following WPI undergraduate course description for CS 2223.

CS 2223 aims to instruct students in the fundamental data structures used throughout computer science. You will learn about the most important algorithms and be taught a number of specific techniques to help you design new algorithms. Students will learn mathematical tools to analyze and predict the execution performance of algorithms.

Outcomes

Upon completion of this course, the student should be able to:

I have identified a set of Skills that you will learn and exercise in this class. These skills summarize the experience that you need to understand and develop new algorithms.


Class Effort

I set as my target that each student will spend a total of 16 hours per week on this course which INCLUDES lectures. To start with, watch each lecture and be prepared to listen, think and take notes.

Yes! Get a notebook and take notes! You can pause and rewind the video, something you can't do in class.

In 2018, the average workload was 11.01 hours per week outside of lectures.
In 2019, the average workload was 12.01 hours per week outside of lectures.
In 2020, the average workload was 10.35 hours per week outside of lectures (affected by Q-term).

The best way to prepare for the homeworks and for the exams is to watch the lectures and the supporting videos that I provide! That is roughly four hours for the week. The remaining 12 hours should be spread evenly, about two hours each day. Some students will spend less while some, no doubt, will spend more. The best way to complete this course is to complete these tasks:

Don't try to cram hours of studying or homework into the weekend because that won't be effective. Don't try to binge watch five lectures in a row which is also not going to work. In fact, it is literally the worst thing you could do.

There are 18 hours of office hours per week. This is a substantial investment on our part and you should take advantage of these resources. These will be held using Zoom software; please try to spread the usage out so no individual office hour is overwhelmed.

It is possible to work hard and get an A in this course, but make sure you leave room for this challenge if you set this as your goal.


Why Java?

I chose to teach CS 2223 using Java for a number of reasons.


Staff & Contact Information

Instructor: George Heineman (heineman@wpi.edu)
Teaching Assistants: David Kim (DK), Zekun Dai (ZD), Qian Wang (QW)

Office Hour Schedule

For the entire term, all office hours will be conducted online. Each TA/SA will hold 4 hours of office hours per week.. All zoom links are in canvas, since some of the zoom links require a password. You can find the links on the home page in Canvas for the class.


Day/Time 09:00 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00   5:30 6:30 7:30
Sunday       DK DK               GTH
Monday     QW QW GTH           ZD ZD  
Tuesday     QW QW                 GTH
Wednesday   DK DK                
Thursday     GTH               ZD ZD GTH
Friday     GTH                  

George Heineman is available for additional online office hours on a semi-regular basis in the designated evenings from 7:30PM to 8:30PM using Zoom Video Conferencing. Once the course is up and running, this will be actively promoted in class. There will be links for joining a meeting (https://wpi.zoom.us/j/98311126199) on the actual evening meeting slots.

Class Discussion Board and Email

This term we will use a Discord server for class discussions. I will set up a number of separate channels on different topics (such as homework assignments, lectures by the week, review topics and the like). I have found this to be an effective way to provide quick feedback (and other students also chime in which is quite helpful). Rather than emailing questions to the teaching staff, I encourage you to post your questions on the discord server. An invitation will be posted daily in Canvas for the first three days of the course. Please email directly if you are unable to connect to the "CS 2223 Algorithms D21" Discord server.

If you have a question regarding your grades in the course, use Canvas to send email to Teaching Assistants. Mail sent to this address goes to all TAs/SAs.

The instructor's email address is heineman *at* wpi.edu. Please restrict your use of my personal email address to issues of a confidential nature. You will get a quicker response if you post your questions to discord. Indeed, I will likely repost your question and reply to you that the answer is on discord.

Stay Focused and Avoid MultiTasking

We are inundated with information because we have a steady connection to the digital world with our smart phones and laptops.

Research shows that we are not effective multi-taskers. And in this course, I believe you need to focus your entire attention when watching the lectures. And I believe with practice, you can learn the essential skill of focusing on a single problem for a fixed length of time.

Please don't think you are going to be able to learn the material from the videos while doing other activities. Set aside time on a regular basis, at the same time of day even, to watch the videos. Take notes on what you think is important. Write down questions that you have as you watch the videos; go back and rewatch some sections that were confusing to you.


Assistments

There will be 20 daily questions that will be an essential part of this course. Thanks to the hard work of Professor Heffernan and his group, Assistments is now fully integrated into Canvas, so there is nothing you need to do to sign up for an account.

All daily questions will just appear in Canvas under the existing Assignments navigation area. I have created a "Daily Questions" grouping where you will be able to find these questions. They will become available at 9AM on the day on which they are to be completed, and you will have until 10AM the following day to complete. This is so much easier than it was in the past!


Lecture Times

I have posted a full day-by-day lecture schedule; the web-based lecture material will be rolled out roughly a week before they are covered in lecture. Note that I will likely be making final tweaks to the lectures right up until the day before. Since this course is being delivered in hybrid fashion, your challenge is to stay on top of attending and watching the video lectures (and secondary videos) in a timely fashion.

Lectures MTRF from 10:00 - 10:50pm (online in Canvas, as live-streamed by Echo 360).

The lectures will be recorded and posted to Echo360 in Canvas. There will be secondary videos posted as well, and there will be folders for each day.


Textbook and Software

Textbook: The textbook for the course is "Algorithms", Robert Sedgewick & Kevin Wayne, 4th edition [WPI Bookstore Link] [Amazon link]. There are online resources for the text book available here and you can find extensive data and sources at the book's Code web site.

You can purchase the textbook from the WPI Bookstore using the BUY DIGITAL format ($72.00).

Software: We will use Java which is installed on all lab computers on campus. We will use the Eclipse development environment which is also freely available and installed on all lab computers. Please install one of the latest Ecliipse platform (either IDE 2020-06 or Eclipse-Photon installation), as appropriate for your platform. You only need "Eclipse for Java Developers".

Gitlab.wpi.edu: All source code that I make available can be found here. You are responsible for checking it out into your local Eclipse Workspace. Use the following as the Git identifier:

https://gitlab03.wpi.edu/heineman/cs2223 Note that to access these resources from OFF CAMPUS, you need to use Global Protect


Grading

Midterm Exam (20%)

A midterm examination will be given online in Canvas on Friday April 16th at 10:00 AM and it will be proctored via Zoom. Please confirm that you are free to take the exam on this day. I will set up several Zoom sessions, each to be proctored by one of the class staff. You will be asked to turn your camera on and you will have 50 minutes to complete the exam. Exams are closed-book, closed-notes. You may bring in one hand-written sheet of notes (one paper, 8.5" x 11.5", both sides) to each exam. You may not use any computers, calculators, cellphones, headphones, or other electronic devices during the exams. Yes, I know some students like listening to music on headphones or ear buds, but please refrain from these devices during the exam.

There are no makeups for exams. Absence from an exam will be excused only for medical or emergency reasons. A note from your doctor or from the Office of Academic Advising will be required. In such cases, your final grade will be recorded as Incomplete and you will be allowed to take a makeup exam once the course is over.

Homeworks (50%)

Five homework assignments will be given (each one is work 10% of your grade). Each homework will have clearly posted Homework Expectations details on how to prepare your homeworks. The graders will follow specific grading guidelines when grading your homework.

Homeworks are due at 10:00 AM on their respective due dates. Any homework received after this time receive a 25% late penalty.

Homeworks received after 6:00 PM receive a grade of zero.

Homework solutions are made available at 6PM, after the deadline.

Final Exam (25%)

The final exam for this class is scheduled for 10:00 AM on the last day of the term, May 13th. Please confirm that you are free to take the exam on this day. I will set up several Zoom sessions, each to be proctored by one of the class staff. You will be asked to turn your camera on and you will have 50 minutes to complete the exam. Exams are closed-book, closed-notes. You may bring in one hand-written sheet of notes (one paper, 8.5" x 11.5", both sides) to each exam. You may not use any computers, calculators, cellphones, headphones, or other electronic devices during the exams. Yes, I know some students like listening to music on headphones or ear buds, but please refrain from these devices during the exam.

Daily Participation Questions (5%)

Associated with each lecture, there is a Daily Participation Question which is an open-ended question based on the material covered in lectures on that day (or perhaps prior to that day). Each question is worth a total of 0.25 points, and you should complete 20 of these questions during the term for a total of 5 maximum points. You get points for participation and it is not based on your score. Simply do each question on the day that it is available. Each question is active for 24 hours, so be sure to pay attention to each day and complete each question in a timely fashion. I will use your answers to these open-ended questions in two ways:

Academic Honesty Policy

Please read WPI's Academic Honesty Policy. If you are struggling in this class, or just not meeting your own high expectations, simply email me and we can set up an impromptu zoom meeting so I can help you overcome these challenges. If you do not come to me for help, then I cannot help you. There is to be no collaboration on homeworks (and exams, obviously). While I encourage studenst to talk to each other about the homework assignment, such as discussing overall strategies for solving problems, you must understand that there is a point where such collaboration becomes a violation of WPI's academic honesty policy.

As examples, each of the following scenarios would constitute cheating (this list is not exhaustive!):

In contrast, the following scenarios would not constitute cheating:

Cheating will not be tolerated. I have pursued these cases in the past and will do so again. We have these rules in place to ensure you give yourselves the best education possible.

For example, on the very first assignment last year, six students had shared solutions to an assignment, and one of them had no idea that a third student had shared their solution with someone else without telling them.

If you are unsure whether a given activity would constitute cheating, ask the instructor. Violations of the Academic Honesty Policy can result in an NR for the course, and violators will be subject to the procedures outlined in Student Guide to Academic Integrity at WPI. Here are some hints from your fellow students:

Late Policy

Homeworks are due by 10AM on their respective due date. Homework submitted after 10AM receive a 25% penalty. I want to make sure homeworks are graded in a timely fashion and I also want to encourage students to start the homework assignments early enough to complete them on time.

Homeworks submitted after 6:00 PM will receive a zero grade. Given the size of the class, this is the only reasonable way to ensure the work can be graded in a timely manner. It also gives me the chance to publish the solution at 6:00 PM so students can review their work without having to wait for an extended period.

For each homework assignment, there will be a posted rubric describing how points are assigned. Use your time wisely to accumulate as many "partial credit" points as you can by the time the homework is due.

We will use Canvas to submit assignments. Each homework will have a specific time of day by which the assignment must be submitted. Being one-minute late is the same thing as being four hours late, so make sure you submit your assignments in timely fashion. To submit, you will upload a ZIP file that contains your homework solutions (with source code) and written answers. The homework assignments provide more detail on how to go about uploading your solution.

Do not send email to the instructor or to the TAs requesting special exemption from the late policy. The late policy is applicable for all possible reasons for late submissions. To receive the most partial credit, be sure you submit on time. It is far better to submit "what you have" by the deadline than to risk getting zero points because you failed to submit by 6PM.

Homework Submission Policy

Homework must be submitted using canvas.wpi.edu. Homework submitted by any other means (paper, email, etc.) will also have a 25% PENALTY. Given the size of this class, we simply do not have time to manage the submissions any other way.

Students with Accommodations

Students who have confirmed accommodations in this class are encouraged to contact the Office of Accessibility Services (OAS) as soon as possible to ensure that such accommodations are implemented in a timely fashion. The OAS is located in Daniels Hall.

------------------------------------------

Last Updated: $Date: Fri Mar 11 23:07:18 2022$