Objectives | Where & When | Day by day Schedule | Syllabus
Textbook & Software | Why Java? | Grading | Policies
Canvas | Staff & Contact Information | Skills
This entire class will be delivered remotely. All information regarding the lectures, homework assignments, and daily questions will be found in the Canvas web site.
I ask that all students use Piazza to post general questions about a lecture or a homework assignment. Instructions on joining Piazza 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 Piazza and answer it there.
If you send me email about a personal concern, I will respond within 24 hours.
Information below is tailored to online delivery.
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.
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.
Upon completion of this course, the student should be able to:
I set as my target that each student will spend a total of 16 hours per week on this course. 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.
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:
There are 21 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.
Day/Time | 09:00 | 10:00 | 11:00 | 12:00 | 1:00 | 2:00 | 3:00 | 4:00 | 5:00 | 6:00 | Evening |
Sunday | HP | HP | HP | AS | GTH - Online 7:30 - 8:30 PM | ||||||
Monday | GTH | ||||||||||
Tuesday | AA | AS | AS | GTH - Online 7:30 - 8:30 PM | |||||||
Wednesday | |||||||||||
Thursday | AA | GTH | SK | SK | SK | GTH - Online 7:30 - 8:30 PM | |||||
Friday | AA | GTH | QW | QW | QW |
Initials above are: George Heineman (GTH), Heshan Perera (HP), Qian Wang (QW), Aaron Alphonsus (AA), Skyler Kim (SK), Ashley Schuliger (AS)
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/2185763036 on the actual evening meeting slots.
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 piazza. Indeed, I will likely repost your question and reply to you that the answer is on Piazza.
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. All students will be required to get an account in Assistments to
be able to participate in the daily question
(see Daily Participation Questions).
To get started, visite the https://www.assistments.org/signup web site to sign up. Even though Assistments is in the process is rolling out version 2.0, we will still be using version 1.0.
Select "I am a student" and enter the enrollment code which I have posted to Canvas as an announcement to the class. You will then create your account (be sure to use your proper name and email so you will get credit for answering the daily questions.
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 remotely, your challenge is to stay on
top of watching the video lectures (and secondary videos) in a timely fashion.
Lectures MTRF from 10:00 - 10:50pm (online in Canvas).
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: 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). Given that the course delivery will be online at the start of D term, my advice is to purchase this option. |
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 the latest Ecliipse platform (either IDE 2018-12 or Eclipse-Photon installation), as appropriate for your platform. You only need "Eclipse for Java Developers".
Fusion.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://fusion.wpi.edu/git/cs2223d20/cs2223d20.git
Grading
The grading policy for each project will be posted at the time of the
assignment. In general, each assignment will have a basic objective for
the majority of the assignment points and an extended objective for
demonstrating additional work and understanding.
Final grades will reflect the extent to which you have demonstrated understanding of the material, and completed the assigned projects. The base level grade will be a B which indicates that the basic objectives on assignments and exams have been met. A grade of A will indicate significant achievement beyond the basic objectives and a grade of C will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances.
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 received after 6:00 PM receive a grade of zero.
Homework solutions are made available at 6PM, after the deadline.
The examination will take place, one question at a time in Canvas, over multiple days, starting at 10:00 AM on each day and lasting for twenty minutes. Students in different times zones MUST contact the instructor in advance to set up a different time slot during which to take the exam question.
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.
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:
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.
Last Updated: $Date: Tue Mar 23 07:52:21 2021$