CS-250: Algorithms and Problem Solving II
Spring 2017
M W: 11:00 am – 1:00 pm (Section 2) – WA 105
M W: 2:00 pm - 3:50 pm (Section 3) – WA 209A
Objective: Continue the Study of Algorithm Development and Problem Solving Techniques using OO Methods and Study Basic Data Structures and their uses.
Text: Java Software Solutions: Foundations of Program Design, John Lewis and William Loftus, Pearson, 8th Ed. www.pearsonhighered.com/lewis. (Additional handouts will be provided by Instructor to supplement Textbook materials)
Office and Tutoring Hours Links to Labs and Assignments
Course Objectives and Expectations:
Upon entering the course – students should have:
· Commitment to good work habits and time management.
· The ability to use Object Based Techniques to develop solutions.
· The ability to develop independent applications using Java Primitive Types, and Arrays.
· The ability to design and use appropriate Java I/O methods.
· The ability to use Java selection, and iterative statements.
· The ability to abstract and develop Java Classes, and use them in applications.
· The ability to design and develop applications using Java SDK packages and User-defined packages.
Upon completion of the course - students should be able to:
o Analyze complex problems and design and develop Java solutions.
o Develop independent Java Classes that implement user abstractions and flexible data-structures.
o Use, understand and apply alternate methods to solve complex problems
o Adhere to standard coding standards and documentation
Grading Scale: Grading:
>= 90% |
A |
>=80% |
B |
>=70% |
C |
>=60% |
D |
< 60% |
F |
Exam 1 |
10% |
Exam 2 |
10% |
Exam 3 |
10 % |
Exam 4 |
10 % |
Final |
20% |
Labs |
10% |
Projects |
30% |
THERE WILL BE NO MAKE-UP EXAMS OR ACCEPTANCE OF LATE ASSIGNMENTS – EXCEPT UNDER EMERGENCY CONDITIONS AND WITH PRIOR PERMISSION OF INSTRUCTOR
Topics:
Review of OO Techniques and materials from CS-234
2-D and 3-D Arrays
Use of Exceptions and Assertions as Programming Tools
Use of Debuggers in the edit-compiles-run cycle
Java Interfaces and their uses
Inheritance as a software engineering paradigm
Listeners – Event generation, recognition, and messaging
Generics – as a framework for general problem solution
Recursive problem solving and recursion in Java
Linear Search
Binary Search
Sorting methods
Abstract Data Structures
Linear Data Structures – Lists, Stacks, and Queues
Application of Linear Data Structures in solving problem
Policy:
Pre-requisite for this course is C or better grade in CS-234 and Math-120 or equivalent placement. You must satisfy this pre-requisite to attend this class. If this is your fourth (4th) time taking this class – you need department permission to attend this class. See details under Course Repetition Policy.
Projects and Homework should be done on an individual basis. Co-operative learning is encouraged. Collaboration in generating the submitted work will be construed as plagiarism and will be reported to the department. For details - follow the link below to get details on specific policies.
A Departmental policy sheet is available on the Web – Collaboration Policy. Other policy details may be handed out in class.
Cheating and/or plagiarism will not be tolerated. It is important that you adhere to high ethical academic standards.
WSU is committed to Inclusive Excellence. WSU Promotes and celebrates diverse cultures, ethnic heritages, and includes all perspectives and promotes the understanding of issues relating to race, ethnicity, culture, gender, age, sexual orientation, ability levels, socioeconomic status, and religion. The complete statement with resources is at Inclusive Excellence Statement