CS 2223 B Term 2015: Algorithms

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

Textbook & Software | Why Java? | Grading | Policies | No Laptop Mondays

Staff & Contact Information | Skills


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. To start with, come to each lecture and be prepared to listen, think and take notes. The best way to prepare for the homeworks and for the exams is to come to class! So that is four hours. 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. 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.

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 (GTH)
Teaching Assistants: Oleksandr Narykov (onarykov@wpi), Xiao Qin (xqin@wpi)
Student Assistants: Axe Soota (axe@wpi), Yang Xu (yxu4@wpi)

Office Hour Schedule

TA/SA office hours will be held in FL A22. George Heineman's office hours are held in FL B-20. Each TA/SA will hold 3 hours of office hours per week.


Day/Time 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00
Sunday                     GTH - Online 8:30 to 9:30
Monday   GTH                  
Tuesday GTH   ON               GTH - Online 8:30 to 9:30
Wednesday YX     ON AS XQ AS AS      
Thursday   YX   GTH   XQ
 
XQ
ON
      GTH - Online 8:30 - 9:30
Friday   YX                  

Initials above are: Oleksander Narykov (ON), Xiao Qin (XQ), Axe Soota (AS), Yang Xu (YX)

George Heineman is available for additional online office hours on a semi-regular basis in the evenings from 8:30PM to 9:30PM using Adobe Connect, a tool available in the my.wpi.edu web site. Once the course is up and running, this will be actively promoted in class. When you connect to this meeting, please connect as a guest and enter your name. That is the easiest way to manage this utility.

Class Discussion Board and Email

A discussion board has been set up on myWPI. You are responsible for all announcements and information posted on the myWPI site - check it on a daily basis.

If you have a question regarding your grades in the course, send email to cs2223-staff *at* cs.wpi.edu. Mail sent to this address goes to the instructor and to the TAs/SAs. Include your section number in all correspondence.

The instructor's email address is heineman *at* cs.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 the class discussion board.

No Laptop Mondays

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 during the lecture. And I believe with practice, you can learn the essential skill of focusing on a single problem for a fixed length of time.

I kindly ask every student in the class to refrain from using a smartphone during class.

In addition, I am going to insist on a "No Laptop Mondays" policy where I will ask each student to put away their laptop for the duration of the class. That is right, nothing but pencil and paper. We will benefit by having more focused discussions and work during lecture.


Lecture and Lab Times

I have posted a full day-by-day lecture schedule; some of these lectures are still in progress.

Lectures MTRF from 2:00 - 2:50pm (Upper FLAUD).


Textbook and Software

Textbook: The textbook for the course is "Algorithms", Robert Sedgewick & Kevin Wayne, 4th edition [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.

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. (Luna | Mars). 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/anonscm/git/cs2223/cs2223.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.

Exams (40%)

Two exams will be given. Exams are tentatively scheduled for Thursday November 19th (20%) and Thursday December 17th (20%).

You must have a passing average on the exams in order to pass the course. (A passing average on the exams is usually around 60%. We may lower this threshold if the exam averages are low; the threshold will not be raised).

Exams are closed-book, closed-notes. You may bring in one 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.

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 (6050%)

SixFive homework assignments will be given. 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 by Friday 2:00 PM so we can grade your assignments and have them back to you by Monday. Note that this deadline is chosen carefull because class lectures are 2PM on Friday. We need to have this quick turn-around so we can detect problems that I can address in lecture.

If you miss the deadline, you will still be able to receive credit if you submit your assignment by 6:00 PM, although there will be a 25% late penalty assessed. Homeworks received after 6:00 PM receive a grade of zero.

In-Class Quizzes (10%)

There will be three in-class quizzes, delivered on three Tuesdays, namely: These three quizzes replace the HW6 which had earlier been due just before the final exam.

Academic Honesty Policy

Please read WPI's Academic Honesty Policy.

Exams

Collaboration is prohibited on exams. During each exam, you will be allowed to bring a single hand-written piece of standard 8.5x11 inch paper on which you can hand write notes on both sides.

Homework

There is to be no collaboration on homeworks.

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 section 5 of the WPI Judicial Policy.

Late Policy

Homeworks are due by 2PM on Friday. If you submit after this time but before 5:59 PM on Friday you will receive a 25% late penalty. 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.

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 blackboard 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.

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.

Homework Submission Policy

Homework must be submitted using my.wpi.edu. Homework submitted by any other means (paper, email, etc.) will receive a grade of zero.

Students with Disabilities

Students with disabilities who believe that they may need accommodations in this class are encouraged to contact the Disability Services Office (DSO) as soon as possible to ensure that such accommodations are implemented in a timely fashion. The DSO is located in Daniels Hall.

------------------------------------------
http://www.cs.wpi.edu/~cs110x/c14

Last Updated: $Date: 2014/02/27 02:21:08 $