Syllabus - Westminster Personal Web Pages Directory
Transcription
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