Programming I CS230A

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 135 or a rigorous high school course in computer programming class.  Students should have a basic knowledge of computers, programming, and the Internet.    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:

An introduction to problem solving methods and algorithm development, program design, coding in an object-oriented language, debugging, and documentation. Includes a laboratory.

 

Goals: Use JAVA to introduce students to the concept of object-oriented programming.  Teach student’s computer programming fundamentals such as control structures, conditional statements, repetition blocks and arrays.  At the completion of this course students will be expected to be able to:

  1. Use common programming structures such as repetition blocks and arrays
  2. Debug their own code and understand others code.
  3. Solve simple to intermediate program problems
  4. Utilize sound programming practices individually and within a team setting

 

Textbook: An Introduction to Object-Oriented Programming with JAVA (4th edition) by C. Thomas Wu (McGraw Hill)

 

General Requirements/Student Expectations:  

  1. Collaboration: There are no group assignments in this course.  Programming projects are expected to be your own. ALWAYS try each part of the project BEFORE asking for help from ANYONE.  Only after you first give it a good try on your own should you seek an opportunity to discuss general approaches with others including your classmates.  Once you do decide to seek help be prepared to communicate your difficulties in order to obtain the appropriate level of help.  But remember you must design and write the code yourself.   Can you consult with others about your design or seek help in debugging?  YES!  Yet, you may not collaborate with anyone on the writing of your code. 
b.      Late policy:  Ample time is given to complete each project.  As a result, project deadlines are absolute and late work will not be accepted.  Failure to submit an assignment by the deadline will result in a grade of ZERO.  There are no exceptions.  Since projects are turned in by email, you can always turn them in early. However, I will ONLY look at the last on time turn-in.

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. 

  1. Questions about grades:  After each graded assignment is returned students will have one week following the return of the assignment to question the grade assigned. After one week has passed the grade becomes final and will not change. This applies to all programming assignments, and quiz/tests.
  2. Participate in class discussions and be responsible for any material missed when you are absent.
  3. Disabilities: If you need special consideration due to a disability documented by the college, please inform me during the first week of class and I'll be pleased to accommodate you.
  4. Academic Dishonesty: Cheating of any form will not be tolerated. Any student found guilty of plagiarism or cheating will automatically receive an "F" for the course, and will be referred for disciplinary action that could result in probation or suspension.  Please remember that academic dishonesty includes initialing the attendance sheet for another student who is not in attendance or late for class.

Methods of Instruction

A mixture of lectures and demonstrations combine with group work.

 


Course outline:  Tentative list of topics to cover

  1. Introduction to JAVA
  2. Primitive data types and operations
  3. Selection statements
  4. Loops
  5. Methods
  6. Arrays
  7. Objects and classes
  8. Strings and text I/O
  9. Inheritance and Polymorphism
  10. Testing and Debugging
  11. Object-oriented design
  12. Getting started with GUI programming
  13. Graphics
  14. Event-Driven programming
  15. Applets and multimedia
  16. Files and Streams
  17. Exceptions and assertions
  18. Sorting and Searching

 

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 Mission and Institutional Student Learning Outcomes (ISLOs):

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.      JAVA Language Fundamentals:   (PSLO 8, 9, 10, 11)

a.      Java programming language keywords

b.      Literals

c.      Ranges of all Primitive Data Type

d.      Array declaration, construction and initialization

e.      Variable or array element usage that is uninitialized and unassigned

f.       Command-Line arguments to main

 

2.      Declarations and access control: (PSLO 3, 9, 11)

a.      Declarations and Modifiers

b.      Declaration Rules

c.      Interface Implementation

 

3.      Operators and Assignments; (PSLO 1, 2, 3)

a.      Java Operators

b.      Logical Operators 

c.      Passing variables into Methods

 

 

4.      Flow Control, Exceptions and Assertions:   (PSLO 1, 2, 3, 4, 8, 9, 10, 11)

a.      Writing code using if and switch Statements

b.      Writing code using Loops

c.      Handling Exceptions

d.      The Java Assert mechanism

 

5.      Object Orientation, Overloading and Overriding:  (PSLO 1, 2, 3, 4, 8, 9, 10, 11)

a.      Encapsualation

b.      Overridden and Overloaded Methods

c.      Constructors and Instantiation

d.      Legal Return Types

 

 


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

CS230

Course Learning Objectives

Program Student Learning Outcomes

School Student Learning Outcomes

Institutional Student Learning Outcomes

SSEM Goals

University Strategic Goals

JAVA Language Fundamentals

 

 

 

 

 

 

Exams, Programming assignments

1

PSLO 8, 9, 10, 11

3,4

2,4

1,2,3,4,5

1,3

Declarations and access control

 

 

 

 

 

 

Exams, Programming assignments

2

PSLO 3, 9, 11

3

2

1,2,3,4,5

1,3

Operators and Assignments

 

 

 

 

 

 

Exams, Programming assignments

3

PSLO 1, 2, 3

1, 3

1, 2

1,2,3,4,5

1,3

Flow Control, Exceptions and Assertions

 

 

 

 

 

 

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 Orientation, Overloading and Overriding

 

 

 

 

 

 

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