Syllabus - Westminster Personal Web Pages Directory

CMPT 202 Introduction to Data Structures
Syllabus Spring 2015
Place & Time
Day Section: Mondays 10:00 - 11:50 AM and Wednesdays 9:00 - 11:50 AM. Dick Hall 120.
Evening Section: Mondays 5:30 - 7:20 PM and Wednesdays 5:30 - 8:20 PM. Dick Hall 120.
Course Website
Materials for this course are available at:
http://people.westminstercollege.edu/faculty/ggagne/spring2015/202/
I do not use Canvas for delivering course materials or communication. I only use it for lab and
homework submissions as well as recording scores.
Instructor
Greg Gagne - Foster 305.
Please contact me through regular email – [email protected] – and not through
Canvas email.
Office Hours
Mondays 1:00 - 3:30 PM
Tuesdays 4:00 - 5:30 PM
Wednesdays 2:30 - 3:30 PM
(I am also available by appointment.)
Supplemental Instructor (SI)
Alex Jeppson. ([email protected]) TBA.
Course Description
This course employs an object-oriented approach to problem solving. Fundamental data structures,
algorithmic complexity, and recursion will be examined using the Java programming language. An
emphasis will be placed on proper program design. Students will also be introduced to analysis of
algorithmic complexity.
Course Objectives
On successful completion of this course you will have better problem solving skills, be able to
design and implement algorithms and analyze algorithmic complexity for solving a problem, and
be comfortable programming with several data structures. This course should prepare you to
continue with more advanced computer studies and write substantial programs.
Prerequisites
CMPT 201 and MATH 141. You need to be familiar with Java syntax and basic programming skills.
1
Text
Data Structures and Other Objects Using Java, Fourth Edition, 2012. ISBN-13 978-0-13-257624-6.
Michael Main. Pearson.
If you have not programmed in Java recently, you may want to find a Java reference. There are
numerous online sites that are helpful, and I also have a small number of Java references available
for loan.
Labs
We will have one lab each week. Because the labs will involve pair programming, attendance
during labs are mandatory. Labs will be graded credit / no credit for each step of the lab. You
must demonstrate your completed lab to either Greg or the SI at the end of lab for your grade.
You should still upload your solutions to Canvas. If you do not finish your program during the lab
period, you have two weeks to turn in the code for full credit. You have one month to turn in the
code for 90% of the credit.
Homework
There will be several homework assignments, for which you will have one to two weeks to complete.
Homework assignments will be appropriately weighted based upon the amount of work required. If
you do not turn in two or more homework assignments, you will not be assigned a partner for the
labs.
You will turn in your assignments online using Canvas. You may hand in assignments late with
the penalty of 5% per day (weekends count as one day), with a hard deadline of seven days late.
Allowances will be made for serious illnesses and emergencies. If you must turn in an assignment
late, make arrangements in advance or notify me as soon as possible.
Programming assignments will be graded using the following criteria:
• Readability - Do you use good variable names and have well formatted code with comments
and documentation?
• Completeness - Does your solution meet the stated requirements?
• Testing and Debugging - Is your code properly tested and debugged? This last step is
often the difference between a A and a B grade in this class. Refer to
http://www.people.westminstercollege.edu/faculty/ggagne/gradingpolicy.html
for details on grading policies for computer programs.
Portfolio Entries
The last week of the semester, you should re-submit two assignments from this class, along with
a brief reflection describing why you chose that assignment for your portfolio. Any errors or bugs
in your original program should be corrected. For most students, these portfolio entries will be a
chance to raise your grade. If you do not turn these in, your grade will likely drop a letter grade.
2
The (Almost) Daily Task
The Daily Task is an activity that is assigned for the next class period. They usually are based on
the main topic from the prior class, although sometimes they are an introduction to the material
to be covered in the next class period. One is given at the beginning of most, but not all, classes
and cannot be made up. No partial credit is given – you earn either full credit or no credit. Up to
three of your lowest review scores may be dropped (i.e. you may miss three daily task assignments
with no penalty.)
Ethics Presentations
Students will pair up to give a presentation on ethical issues related to computer science. As a
team, you should explain the issue to the class. Then each student should present one side of the
ethical conflict. You will also turn in a 1 page summary of your topic. We will hear a report only
on weeks without quizzes.
Quizzes
Quizzes will be given in class as we finish topics. Their purpose is to encourage regular study.
There will be four quizzes. The lowest quiz score will NOT be dropped. Quizzes will be announced
in advance.
Final Exam
The final exam will be cumulative and will be held on Monday April 27, 2015.
Grading
Your course grade will be determine according to the following policy:
Topic
Labs
Homework
Portfolio Entries
The Daily Task
Ethics Presentations
Quizzes
Final Exam
Weight
24%
38%
2%
3%
3%
20%
10%
3
Your grade will be determined using the following scale.
> 93 ⇒ A
90..93 ⇒ A−
88..89 ⇒ B+
83..87 ⇒ B
80..82 ⇒ B−
78..79 ⇒ C+
73..77 ⇒ C
70..72 ⇒ C−
65..69 ⇒ D+
60..64 ⇒ D
55..59 ⇒ D−
< 55 ⇒ F ail
*** The instructor reserves the right to alter the above grading scheme. Any modifications will be
announced to the class.
Class Participation
I do not assign points for this, but use it subjectively to decide on your final grade in addition to
points. Positive participation will shift your grade upward if you are on the edge of a category.
Similarly, negative participation will shift your grade downward. Participation consists of not only
attending class regularly, but in being prepared for class and in contributing to it with a good
attitude. I encourage discussion and questions both of which will be much richer if you read the
material in advance and put your best effort into the assignments. The participation I discourage
is disruptive to the class (e.g., arriving late, expressing a negative attitude, showing disrespect or
poor manners toward other students or the instructor, talking in class, cheating, etc.).
Attendance
Attendance will be taken initially to help me become familiar with the students, but will not form
part of your grade. However, you are expected to attend class, to have read the material to be
discussed, and to be prepared to participate. You will be responsible for class material that is not
in the text and for knowing what has been announced in class. Attending class is also the easiest
way to benefit from the course. Lastly, I will do whatever I can to help you succeed in this class,
but there is a finite amount of available time, and I am much more likely to use it students who
have attended class regularly.
Group Work
You are encouraged to work together in designing a solution to a homework or lab problem, but all
answers and programming code should be your own work. Please list in the README all students
you worked with on each assignment. Cheating is not tolerated. A first cheating offense will earn
a negative grade on the assignment, quiz, or exam, and a second offense will receive a failing grade
for the course and a letter to your advisor. Please refer to the Academic Catalog or the Student
Handbook for the College’s statement on academic honesty.
4
College-Wide Learning Goals
This course satisfies the following college-wide learning goals:
• Critical, analytical and integrative thinking. A large focus of this class is developing critical
and analytical skills for solving a variety of problems.
• Creative and reflective capacities. You will have to seek creative solutions to several problems
you will encounter this semester. In other instances, you will be asked to reflect (in writing)
on some of the solutions you have developed.
• Leadership, collaboration, and teamwork. You will work closely with a programming partner
when pair programming in labs.
• Writing and other communication skills. You will have to submit several written homework
assignments this semester.
Program-Specific Learning Goals
• To understand the concepts and techniques of software design. A large focus of this class is
software design.
• To develop effective problem solving skills. During the course of the semester you will encounter several programming challenges which you will have to apply problem solving skills
to overcome.
Title VI and Title IX
Westminster College is committed to providing a working and learning atmosphere that reasonably
accommodates qualified persons with disabilities. If you have any disability, which may impair your
ability to complete this course successfully, please contact office of Disability Services, specifically
Ginny DeWitt, Disability Services Coordinator, in the START Center (801-832-2280). Reasonable
academic accommodations are reviewed for all students who have qualified, documented disabilities.
Services are coordinated with the student and instructor by the Disability Services Office. If you
need assistance or if you feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established grievance policy and procedures by contacting
the Office of the General Counsel at 801-832-2565.
Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant
in an educational program or activity that receives federal funds. The act is intended to eliminate
sex discrimination and harassment in education. Title IX covers discrimination in programs, admissions, activities, and student-to-student sexual harassment. Westminster Colleges policy against
sexual harassment extends not only to employees of the college, but to students as well. If you
encounter unlawful sexual harassment or gender-based discrimination (including discrimination or
harassment based on sexual orientation), you can speak with your professor, contact the Title IX
Coordinator, Trisha Teig, 801-832-2235 or one of the Deputy Coordinators: Mark Ferne, 801-8322233 or Shelley Jarrard, 801-832-2340. You may also wish to contact the Office of the General
Counsel at 801-832-2565.
5
Title VI of the Civil Rights Act of 1964 prohibits discrimination based on race, color or national
origin at any program or activity receiving federal financial assistance. The Department of Education has interpreted Title VI as prohibiting racial harassment, and such harassment is prohibited
in all facets of campus life at Westminster College. If you encounter this type of discrimination/harassment, you can contact the Office of the General Counsel at 801-832-2565.
6