Вы находитесь на странице: 1из 4

CS211, Fundamentals of Computer Science II, Syllabus Fall 2014

Instructor: Craig Niiyama


E-mail: Craig.Niiyama@BellevueCollege.edu

Continues CS 210, with data structures algorithm analysis. Students learn to create collections, lists,
binary trees, and sets. Other topics include sets, generic data types, sorting, recursion, run-time
complexity, and graphical user interfaces. Prerequisite: CS 210 or entry code.
Course Outcomes
Explain the differences between procedural and object-oriented programming.
Define inheritance and polymorphism, and explain the role they play in program design.
Create and use new classes through inheritance and virtual functions, and design object
structure interfaces and inheritance hierarchies.
Explain the principles of recursion versus repetition, and write recursive methods.
Explain, implement use, and contrast data structures including arrays, sets, lists, collections, and
trees.
Explain and use container classes, and create linked lists.
Measure and evaluate program performance through running time and the use of Big-O
notation.
Use different approaches and algorithms to search for a value or item in a data structure, such
as linear and binary search techniques.
Explain different sorting algorithms for various applications, and apply different algorithms,
from both the API and user-defined.
Compose design elements that facilitate troubleshooting, using Exceptions with try-catch blocks.
Design programs using a Graphical User Interface (GUI) and event driven programming.
Assessment of Outcomes
Assignments: ten with each 20 pts., and Quizzes: fifteen also each worth 20 pts., for a total of 500 points.
Assignments have no time limit other than the due date. Some may take many hours, others might be
as brief as an hour of work, but most you will want to work on for days, so start them as early as
possible. Ill start grading assignments only after the due date passes.
Quizzes are all limited to one hour, some a simply 20 multiple-choice questions, others require some
quick Java coding. Once you start a Quiz the timer starts and you best be ready. Work as many
exercises from text (or on Practice-It) in advance before taking a Quiz, they should normally be the last
thing you do in each chapter.

Coding (program design) assignments are from the text and require extensive composition and
implementation of Java classes. Your code must be submitted electronically, via the course web site, as
detailed on each assignment. Readability of code is crucial, and adherence to specifications is
paramount. Specifically, I DO require proper indents, avoidance of uncontrolled text wrap, and
submission thorough specified channels. Yes, I might accept substandard work, but it will never receive
full credit.
Comments in submitted Java coding is also REQUIRED. At a bare minimum, your name, date, class, and
reason why you wrote this should be in a block of comments at the top. Explanations within the code
should be any place from every three line, to maybe each ten line of code. If I ever see a whole page of
code without a single comment, Ill close it and award a zero. Comments that reference where you
obtained ideas or copied small code snippets are crucial to add. Using one or two lines of code from
another is common, but do not copy large portions.
Quality Assurance (QA) is essential in all software development. I will require a separate word
document of test cases run with screen shots of your output of your running program. Its fine if your
program cannot handle all the edge cases but you need to document what it can and cannot handle.
Extra Credit. We will have a discussion board. You should direct your questions to that board. I will be
monitoring this board. For those students who help out other students by answering their questions,
there will be some extra credit given up to 20 points. Keep a word document of your contributions and
submit it to me at the end of the quarter and you will get extra credit depending on your responses.
There are a thousand different ways to solve large assignments that we do in this course, and I can
compare all code submitted through a Measure of Software Similarity (MOSS) system assessment. I
reserve the right to give a zero for any assignment guilty of plagiarism, and will provide a stern warning.
A second, repeat offense from the same student will result in an automatic fail in the whole course.
Plagiarism: to steal and pass off (the ideas or words of another) as one's own, use (another's production)
without crediting the source (from Merriam-Webster). http://theory.stanford.edu/~aiken/moss
https://www.ipd.uni-karlsruhe.de/jplag/ (secure port, but can be opened)
Specifically look at the examples from the JPLAG site on the right here. I find their Java online interface
very easy to use, and plan to do so more often in the future (present).
Late work indicates issues with planning, or problems with comprehension. So unless arrangements are
made in advance (e.g. DRC) of the due date/time, all late work (yes, ALL) will be discounted 50% of the
credit. NO late quizzes will be allowed.
Grading
Bellevue College uses a final letter grade for each course. I will use the follow conversions from your
final average percentage to a letter grade:
100-93(A) 92-90(A-) 89-87(B+) 86-83 (B) 82-80(B-) 79-77(C+) 76-73 (C) 72-70(C-) 69-67(D+) 66-60 (D)
The link to the College Grading Policy is located in the Course Catalog and also on the web at:
bellevuecollege.edu/policies/3/3000_grading.asp.
Books and Materials Required
Building Java Programs: Skills, A Back to Basics Approach, 3/E, by Stuart Reges and Marty Stepp,
University of Washington ISBN-10: 0-13-, ISBN-13-336090-3 978-0-13-336090-5
You can get this book through the BCC bookstore and also via Amazon.com and BarnesAndNoble.com by
searching for the title. Just make sure you are getting the 3rd edition! I use this text to prepare my
lectures, examples, quizzes, and assignments, so I dont know how one could pass this class without.
There is a companion site that might be useful: www.buildingjavaprograms.com
And the authors use this book for the CSE142/143 classes at University of Washington:
www.cs.washington.edu/education/courses/142 www.cs.washington.edu/education/courses/143
And finally, I see there is an eText available now: http://www.coursesmart.com/building-java-programs-
a-back-to-basics-approach/stuart-reges-marty-stepp/dp/9780133379440

Next you will need a way to compose, compile, and run Java programs. There are countless ways to do
this, but Ill be using Eclipse its common within programming circles.
Since Java is so pervasive in the software industry today, you probably already have some version of
Java installed on every computer who use. Most PCs simply have the Java Runtime Environment (JRE)
installed, which could probably get you through this class along with Eclipse as the Integrated
Development Environment (IDE). Some development will require installation of the Java Development
Kit (JDK) which can be obtained for free from Oracle, who purchased Sun Microsystems in 2010:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Eclipse can be downloaded at:
http://www.eclipse.org/downloads/
Instructors Expectation
My role as the instructor is to:
Help students succeed in this course;
Share my knowledge and experiences to help expand on concepts discussed in the course;
Provide timely feedback to students;
Moderate discussions and challenge students to further their knowledge; and
Evaluate and grade students.

As a student in this course, I expect you to:
Work hard to achieve the goals of the course;
Actively contribute to any discussions;
Share your thoughts, knowledge and experiences;
Cooperate and collaborate with other students; and
Provide feedback to me throughout the course.
Affirmation of Inclusion
Bellevue College is committed to maintaining an environment in which every member of the campus
community feels welcome to participate in the life of the college, free from harassment and
discrimination. We value our different backgrounds at Bellevue College, and students, faculty, staff
members, and administrators are to treat one another with dignity and respect.
http://bellevuecollege.edu/about/goals/inclusion.asp

Academic Honesty
Cheating, stealing and plagiarizing (using the ideas or words of another as ones own without crediting
the source) and inappropriate/disruptive classroom behavior are violations of the Student Code of
Conduct at Bellevue College. Examples of unacceptable behavior include, but are not limited to: talking
out of turn, arriving late or leaving early without a valid reason, allowing cell phones/pagers to ring, and
inappropriate behavior toward the instructor or classmates. The instructor can refer any violation of the
Student Code of Conduct to the Vice President of Student Services for possible probation or suspension
from Bellevue College. Specific student rights, responsibilities and appeal procedures are listed in the
Student Code of Conduct, available in the office of the Vice President of Student Services. The Student
Code, Policy 2050, in its entirety is located at:
http://bellevuecollege.edu/policies/2/2050_Student_Code.asp

Bellevue College E-mail and access to MyBC
All students registered for classes at Bellevue College are entitled to a network and e-mail account. Your
student network account can be used to access your student e-mail, log in to computers in labs and
classrooms, connect to the BC wireless network and log in to MyBC. To create your account, go to:
https://bellevuecollege.edu/sam.
BC offers a wide variety of computer and learning labs to enhance learning and student success. Find
current campus locations for all student labs by visiting the Computing Services website.
Disability Resource Center (DRC)
The Disability Resource Center serves students with a wide array of learning challenges and disabilities.
If you are a student who has a disability or learning challenge for which you have documentation or have
seen someone for treatment and if you feel you may need accommodations in order to be successful in
college, please contact us as soon as possible.