CS 261 | University of Puget Sound | Spring, 2020 |
Computer Science II
|
||
Abstract Data Types and their Implementations,
Some Basic Algorithms,
Object-oriented Problem Solving, and Efficiency |
||
Warning:
This course is under development.
Although the basic structure of this course is largely established,
nothing on this Web site should be considered official or even possibly
correct.
DO NOT MAKE PLANS BASED ON THE CONTENTS OF THIS SITE UNTIL JANUARY, 2020.
Notes:
CSCI 261, Computer Science II, explores object-oriented problem solving, abstract data types and their implementations, some basic algorithms, and efficiency. Topics and themes covered include:
To cover this material, the course is roughly divided into 13 units:
Blended through the course, several discussions will highlight approaches for effective and efficient software development.
Office: Thompson 410
Telephone: extension 3562
E-mail: henrywalker@pugetsound.edu and
walker@cs.grinnell.edu
Office hours are posted on the bulletin board outside my office, with additional hours possible by appointment. During office hours, I will try accommodate all students who want to talk with me, largely following a first-come, first-served strategy.
Textbook: Elliot B. Koffman and Paul A. T. Wolfgang, Data Structures: Abstraction and Design Using Java, Third Edition, John Wiley and Sons, 2016, ISBN: 978-1-119-23914-7 and 978-1-119-22307-8.
Additional Resources:
Java Programming Language:
While the schedule for this course is expected to evolve, a detailed Tentative Class Schedule is posted with readings, labs, assignments, examples, etc. This schedule will be updated as the course evolves.
This course incorporates a variety of activities, including class preparation (reading), labs and projects (started in class and finished for homework), and supplemental problems (some required and some available for extra credit), as well as quizzes, tests, and a final exam. From past experience, the time required for these activities will likely vary substantially from student to student and from one part of the course to another. For example, a student may need to devote considerable time and effort when starting a new or different topic, but the workload may drop noticeably when that material is mastered.
Such variation in student experiences complicates any estimation of the time individual students may need to devote to homework for this course. However, from past experience, students working steadily on the course likely should expect to allocate 10-15 hours per week to homework. Some students may require additional time for some weeks; some students may complete work in less time for some weeks. Conversations with computer science faculty and others suggest this time allocation is consistent with expectations for many courses at Grinnell College and the University of Puget Sound.
All programming for this course should follow the Java Style Guide—a compendium
Course Work will involve a combination of the following activities.
Supplemental Problems extend the range of problems considered in the course and help sharpen problem-solving skills. Through the semester, about 3-5 supplemental problems will be required. Some additional problems may be posted for extra credit. Expect this listing of supplemental problems to evolve and expand over the semester!
Laboratory sessions introduce specific features of typical Java computing environments, highlight concepts and constructs introduced in class, allow instructor assistance in a "hands-on" setting, and supplement normal office hours.
Approximately 7-10 labs require a formal write-up, explaining what work you have done, showing any programming you have done, indicating tests or experiments run, and giving your conclusions. Some additional labs may be identified as being available for extra credit. However, extra credit may not raise a student's average on laboratories above 120%.
Lab activities should be done in groups of two (preferred) or three; I will assign groups approximately each week, and you must work with your assigned partner on each required lab. (Working on your own or with someone other than your assigned partner requires prior instructor approval.) Only one write-up is expected per group.
Lab Write-ups are due for specified labs. Turning in a lab involves two parts:
In-class Quizzes: A 15-20 minute quiz will be scheduled for the beginning of most Wednesday classes. Altogether about 10 quizzes are scheduled during the semester; in grading, the lowest quiz score will be dropped. These quizzes will focus on basic topics just covered in recent past class sessions and/or the basic topics from the reading(s) for the day.
Test: An in-class test is scheduled for Friday, March 13—the day before Spring Recess.
Exam: A final exam will be given at 8:00-10:00 am on Wednesday, May 13, following the University's Final Examination schedule.
Deadlines are shown on the Tentative Class Schedule, and work is due at the start of each class specified. A penalty of 25% per class meeting will be assessed for any assignment turned in late, even work submitted at the end of a class.
Although dates for labs, programming assignments, tests, and the final exam are firm, I understand that circumstances arise when you are not able to attend class.
When circumstances are known ahead of time (e.g., academic activities, athletic events), I expect you to make arrangements with me before the activity occurs. Normally, we will identify an alternative date for the due date or test.
When circumstances cannot be reasonably anticipated (e.g., illness, family emergencies), I expect you to notify me as soon as is reasonably possible. (Email is fine.) In the case of medical problems, I expect a written note from a medical professional or counselor that indicates that your health interfered with the course activity. (I do not need to know any details of the medical problem, but I do need to know that you sought help and that the medical professional believed meeting the deadline would likely interfere with your health.)
Absolute Deadline: All homework must be turned in by Wednesday,
6 May at 5:00 pm;
laboratory reports or programs received after
that time will not be counted in the grading of the course.
Collaboration often will be allowed on laboratory exercises, but collaboration normally will NOT be allowed on supplemental problems, quizzes, and tests. To avoid confusion, the rules for collaboration on homework are included in the specification of each assignment.
Cell phones, text-messaging devices, and other social-networking connections may not be used in this class. If you bring such equipment to the classroom, it must be turned off before the class starts and stay off throughout the class period. Use of such equipment is distracting to those nearby and will not be tolerated.
If you have specific physical, psychiatric, or learning disabilities and require accommodations, please let me know early in the semester so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Director of Academic Advising. Feel free to talk to me if you have questions or want more information.
For more information, see the Academic Handbook, pages 34-35.
In addition to course policies identified in this syllabus, the University of Puget Sound has asked instructors to highlight the following university policies:
This instructor's grading philosophy dictates that the final grade should ultimately be based upon each student's demonstration of her or his understanding of the material, not on the performance of the class as a whole nor on a strict percentile basis. The following scheme is proposed as a base for how the various assignments and tests will be counted in the final grade.
Lab Write-ups: 30% | Supplemental Problems: 20% | Quizzes: 15% | Test: 15% | Exam: 20% |
created 24 June 2019 revised Summer-Fall 2019 revised 14-15 January 2020 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |