Programming II CS231A
Fall Semester 2008
Instructor Information: Dr. Ron King
Associate Professor of Mathematics and
Computer Science
Office: Science Hall 108 Phone: (386) 481-2670
Email: kingr@cookman.edu
Office Hours: 9:30AM-11:00AM and TR
4:15PM-5:15PM
Pre-Requisite
Courses: CS 230
Computer Programming I or transfer credit in Java Programming. No exception:
Note: A major unrecorded prerequisite needed to achieve a mastery of
this course material is the willingness to spend an average of 2 hours of study
time for each hour in class.
Course Description:
This
course continues where CS 230 leaves off with in
developing an understanding of the Java programming
language and its extensive Application Programming Interface (API) with a focus
on program design, style, and testing. Topics covered include: recursion, file-based
I/O, classes, packages, method overloading, inheritance, polymorphism, abstract
classes, Remote Method Invocation (RMI), interfaces
and exceptions. This course requires students to co-register for a programming
lab, CSL 231. The lab provide students with hands-on
practice developing programs implementing the programming constructs.
Goals: Continue to use JAVA to introduce students to the concept of object-oriented
programming. At the completion of this
course students will be expected to be able to:
Textbook: An Introduction to Object-Oriented
Programming with JAVA (4th edition) by C. Thomas Wu (McGraw Hill)
General Requirements/Student Expectations:
c.
Programming
Assignments will be submitted by
email: kingr@cookman.edu Programs MUST compile and run using the PC
version of Java 5.0. A program
that does not compile will receive a zero grade.
Methods of Instruction
A
mixture of lectures and demonstrations combine with group work.
Course outline:
Tentative
list of topics to cover
Technology
Computers
in the classroom used for this course should only be used during class for
class assignments. You must follow all
turn-in instructions carefully and email your assignments alone with attachments
to kingr@cookman.edu
on or before the due date to receive credit.
Assessment/Grading scale
a. Your grade will be based on eight
programming projects (50%), and eight pop quizzes (50%). There is no final exam for this class. All
quizzes are close-book and close-notebook. Calculators are allowed and should
be used during exams. A total of 1600
points make-up this course with 800 coming form exams and 800 from quizzes. Note: There is no makeup quizzes. TEN pop quizzes will be given during the
course with the TOP eight counting toward your grade. Students who anticipate the necessity of
being absent from class on more then two quizzes days need to see the Dean.
b. The grade you
receive will be based on the percentage of possible course points that you
obtain. I reserve the right to set grade lines at the end of the course. For
your information, the following are my historical grade lines.
Grade line
cutoffs for the lowest grades:
Bottom "A"
was 90% (i.e., 1440 points)
Bottom "B"
was 80% (i.e., 1280 points)
Bottom "C"
was 67% (i.e., 1072 points)
Impact
on BCU
Through the attainment of the course
student learning objectives (CSLOs), students will acquire knowledge, skills
and competencies outlined in the Institutional Student Learning Outcomes,
School Student Learning Outcomes (SSLOs) and Program Student Learning Outcomes
(PSLOs) . The
Course Student Learning Objectives fully support the University Mission and
Core Values as stated in the Strategic Plan; as well as, the School Goals.
Program Student
Learning Outcomes (PSLOs) addressed in Course Learning Objectives.
PSLO
1: An ability to apply knowledge of computing
and mathematics appropriate to the discipline
PSLO
2:
An ability to analyze a problem, and identify and
define the computing requirements appropriate to its solution
PSLO
3:
An ability to design, implement, and evaluate a
computer-based system, process, component, or program to meet desired needs
PSLO 4: An ability
to function effectively on teams to accomplish a common goal
PSLO 5: An
understanding of professional, ethical, legal, security and social issues and
responsibilities
PSLO
6:
An ability to communicate effectively with a range of audiences
PSLO
7:
An ability to analyze the local and global impact of computing on individuals,
organizations, and society
PSLO
8:
Recognition of the need for and an ability to engage in continuing professional
development
PSLO
9:
An ability to use current techniques, skills, and tools necessary for computing
practice.
PSLO
10:
An ability to apply mathematical foundations, algorithmic principles, and
computer science theory in the modeling and design of computer-based systems in
a way that demonstrates comprehension of the tradeoffs involved in design
choices.
PSLO
11:
An ability to apply design and development principles in the construction of
software systems of varying complexity.
Course Student Learning Objectives and
Measurements:
Students
will be able to write and debug small to intermediate programs. They will have a clear understanding of basic
procedural programming constructs and how to use a variety of input sources
such as files and keyboard alone with a variety of output destinations
including graphical. Students will learn
the design principles such as information hiding and the elimination of
redundancy. Students will demonstrate
knowledge of each of the following when taking exams or completing assignments
at an acceptable level on assessment rubrics.
1.
Object-Oriented
Programming:
(PSLO 8, 9, 10, 11)
a.
Defining Classes for objects
b.
Constructors
c.
Accessing Objects via Reference
Variables
d.
Passing Objects to Methods
e.
Array of Objects
f.
Class Abstraction and Encapsulation
2.
Strings & Text I/O: (PSLO 3, 9, 11)
a.
The String Class
b.
The Character Class
c.
The StringBuilder/StringBuffer Class
d.
Command-line Arguments
e.
The File Class
3.
Inheritance and Polymorphism; (PSLO 1, 2, 3)
a.
Superclasses and Subclasses
b.
Overriding vs. Overloading
c.
Polymorphism, Dynamic Binding, and
Generic Programming
d.
Casting Objects and the instanceof Operator
4.
Abstract Classes and Interfaces: (PSLO
1, 2, 3, 4, 8, 9, 10, 11)
a.
Abstract Classes
b.
Interfaces
5.
Object-Oriented Design: (PSLO
1, 2, 3, 4, 8, 9, 10, 11)
a.
Software Development Process
b.
Discovering Class Relationships
6.
Getting started with GUI Programming: (PSLO
1, 2, 3, 4, 8, 9, 10, 11)
a.
GUI Components
b.
The Java GUI API
c.
Frames
d.
Layout Managers
e.
Color Class
7.
Graphics: (PSLO
1, 2, 3, 4, 8, 9, 10, 11)
a.
Graphical Coordinate Systems
b.
The Graphics Class
c.
The paintComponent
Method
d.
8.
Event-Driven Programming: (PSLO
1, 2, 3, 4, 8, 9, 10, 11)
a.
Event and Event Source
b.
Listeners, Registrations, and
Handling Events
c.
Mouse Events
d.
Key Events
Student Learning Outcomes Matrix (SLOM)
Alignment of Course Assessments with SSEM Goals,
Program Student Learning Outcomes,
Course Learning Objectives,
Institutional Student Learning Outcomes and University Strategic Goals
|
Student
Learning Outcomes Matrix |
||||||
|
Course
Assessments |
CS231 Course
Learning Objectives |
Program Student Learning
Outcomes |
School Student Learning Outcomes |
Institutional Student Learning Outcomes |
SSEM Goals |
University Strategic Goals |
|
Object-Oriented
Programming |
|
|
|
|
|
|
|
Exams, Programming assignments |
1 |
PSLO 8, 9, 10,
11 |
3,4 |
2,4 |
1,2,3,4,5 |
1,3 |
|
Strings & Text I/O |
|
|
|
|
|
|
|
Exams, Programming
assignments |
2 |
PSLO 3, 9, 11 |
3 |
2 |
1,2,3,4,5 |
1,3 |
|
Inheritance and Polymorphism |
|
|
|
|
|
|
|
Exams, Programming
assignments |
3 |
PSLO 1, 2, 3 |
1, 3 |
1, 2 |
1,2,3,4,5 |
1,3 |
|
Abstract Classes and Interfaces |
|
|
|
|
|
|
|
Exams, Programming
assignments |
4 |
PSLO 1, 2, 3, 4,
8, 9, 10, 11 |
1,2,3,4 |
1,2,3,4 |
1,2,3,4,5 |
1,3 |
|
Object-Oriented Design |
|
|
|
|
|
|
|
Exams, Programming
assignments |
5 |
PSLO 1, 2, 3,
4, 8, 9, 10, 11 |
1,2,3,4 |
1,2,3,4 |
1,2,3,4,5 |
1,3 |
|
Object-Oriented Design |
|
|
|
|
|
|
|
Exams, Programming assignments |
6 |
PSLO 1, 2, 3,
4, 8, 9, 10, 11 |
1,2,3,4 |
|||