Course Policy Statement

This is the archived website of SI 335 from the Spring 2015 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

Instructor: Dr. Daniel S. Roche, Michelson 322, x36814, .

Course Website: http://www.usna.edu/Users/cs/roche/courses/s15si335/

MGSP Leader: MIDN 2/C Blair Mason,

1 Textbooks

2 Graded Work

2.1 Quizzes

Quiz questions will be given each week. Some will be emailed as take-home questions and some will be done in class. Any students not present for class must complete the in-class questions as take-home quiz questions. Take-home questions must be completed prior to the start of the next class. Students may collaborate on take-home questions as long as it is clearly documented.

2.2 Problem Sets

More extensive non-programming problems, that require significant time, effort, and care, will be assigned in problem sets due every 4 weeks or so. Problem sets may be completed in groups up to a certain size. Solutions will be presented orally, in person with the instructor. Each group is also required to hand in a written outline of their solutions. Each group member is responsible to understand and explain any solution. More details on this process are available on the course webpage.

Everyone in each group will receive the same grade for that problem set. No collaboration or discussion is allowed outside of the group. Any outside resources used must be clearly documented.

2.3 Programming Projects

There will be 3 programming projects in this class, spaced out between the due dates of the problem sets. Details on electronic submission will be published along with the projects and must be followed. Programming projects in this class will require not only coding skills, but also algorithmic development skills, and therefore starting early is extremely important. For programming projects, informal discussion between students is allowed, but not collaboration (see definitions below). All discussion and outside resources must be clearly and specifically documented.

2.4 Exams

There will be one midterm exam and one final exam. The final exam will be cumulative. Students will be allowed one "crib sheet" for the midterm and two for the final.

2.5 Final grade

3 Late Work

Solutions to all problem sets and programming projects will be published as soon as they are due, and therefore no work submitted after the deadline will receive credit. Exceptions to this rule will only be made in special circumstances or when requested well in advance.

4 Absences

Each student is responsible to make up the work they miss due to planned absences such as movement orders for sports and extra-curricular activities as well as medical procedures. There will be no blanket exception to the late policy to account for absences. Generally, students should plan ahead and make arrangements with classmates or the instructor to ensure their work is submitted on time.

5 Academic Integrity

For the purposes of this class, we make a distinction between:

Discussion is allowed on any take-home quiz or programming project, as long as it is clearly documented. However, collaboration is only allowed on the take-home quizzes. The only help permitted on problem sets is within a student's group. At all times, help from any human not currently enrolled in SI 335 is never permitted. This includes other students not in the class, parents, friends, other faculty members, and even online humans (e.g., asking questions in an online forum or discussion board). The only exceptions are the current instructor and MGSP leader.

Any resources other than those on the course website must also be documented clearly and specifically. For example, if a website is used, the full address of the web page in question must be listed, along with what in the assignment that page was used for. Just saying "Wikipedia" is not enough, but something like "en.wikipedia.org/wiki/Big_O_notation example used in problem 2" would be good.

6 Learning Objectives

  1. Demonstrate an understanding of a variety of classic standard algorithms. (supports outcome CS-j)
  2. Employ a variety of standard techniques to devise efficient algorithms. (supports outcome CS-j)
  3. Compare and analyze the performance of algorithms. (supports outcome CS-j)
  4. Understand the local and global impact of algorithm design and performance, especially as it relates to cryptography, and the implied ethical issues and responsibilities. (supports outcomes e, g)
  5. Develop effective written arguments regarding algorithmic performance. (supports outcome f)

7 Supported Student Outcomes

8 Section Leader

The section leader is responsible for:

9 Classroom Decorum

No food or beverages (except in closable containers) are permitted in the classroom.