Home Skills Resume Portfolio Contact
 

 

 

HUMBER SCHOOL OF INFORMATION TECHNOLOGY

COURSE OUTLINE

ACADEMIC YEAR FALL '02 TO SUMMER '03

 

COURSE NUMBER CPAN 120
   
COURSE NAME Fundamental of Programming and Design Using Java
   
CREDITS 6
   
PRE-REQUISITES None
   
TEXT REQUIRED Java For Computer Information Systems
  Andrew C. Staugaard, Jr.
  Prentice Hall
ISBN 0-13-010806-5
   
TEXT REFERENCE Big Java
  Cay S. Horstmann
  Wiley
ISBN 0-471-40248-6
   
ORIGINATED BY: Jay Wood DATE: May 2001
     
REVISED BY: Jay Wood DATE: May 2002
     

 

 

COURSE DESCRIPTION

This is not a Java course, but rather a first course in programming, designed to teach the fundamentals which must be acquired to become a good programmer regardless of language. Emphasis is on skills required for problem solving using a structured, top down methodology. The methodology will be applied to solve a series of typical simple business problems. From these solutions, computer programs will be written, tested, and debugged.

Java will be taught and used as the language for coding the programs.

The course focuses on the three most fundamental logical structures central to all programming (the sequence, decision, and loop) and how they can be applied to solve most business application needs.

Please note that this is a pre-requisite for ALL subsequent programming courses.

 

LEARNING OUTCOMES

Upon completion of this course, the successful student will be able to:

1.

Analyze and define a sample application problem requiring input data and output display/printout. This includes:

  • demonstrating good questioning/communication skills to obtain needed information.
  • writing a detailed English description of the problem
  • identifying data types for all input/output data
  • defining/designing user friendly input and output screens/reports
2.

Develop, walk through, and document algorithms (solutions) to simple business application problems using a prescribed methodology (chart and pseudocode), and preferably, an automated design tool (at the very least, a word processor on a PC). Problems will involve the use of the following logical concepts and structures alone and in combination:

  • sequences
  • decisions 1 and 2 path, and case
  • loops - counted and conditional
  • single and multi dimension array data structures
3. Describe parameters defining a good program with respect to standards, style and efficiency, with particular emphasis on Java.
4. Code a solution (program) from design specifications using Java. The program will exhibit good design, style and modularization and adhere to standards as defined by typical current industry practices (and the instructor). Solutions will require the application of sequence, nested if and/or loop, and array structures.
5. Contrast testing and debugging; define a variety of types of testing.
6. Test and debug a Java program both syntactically and logically to specifications.
7. Document applications to specifications.
8. Complete applications (design and coding) within given time constraints.
9. Maintain and extend applications to meet modified specifications.
10. Walkthrough program code (someone else's) and demonstrate an understanding of the activities and operations performed by that code.
11. Complete applications using an interactive development environment on a DOS or DOS/Windows based platform.

 

GENERIC SKILLS

The following generic skills will be acquired and/or enhanced:

COMMUNICATION

  • Write clear, concise sentences and paragraphs in program documentation, projects and tests.
  • Communicate in written, oral, and diagrammatic form using appropriate formal and information vocabulary and format
  • Respond to oral and written instruction
  • Read and comprehend reference materials, diagrams and reports.
  • Interpret a range of technical and non-technical instructions (program specifications) through dialogue and refined questioning skills
  • Read and interpret policy and procedure.

MATHEMATICS

  • Apply the fundamentals of mathematics to the solution of routine programming problems.
  • Apply appropriate formulae to solve common business problems.
  • Define precision and accuracy in mathematical calculations and use the rules for significant figures.
  • Solve word problems through the use of equations.

INTERPERSONAL

  • Complete projects as an effective member of a team.
  • Participate effectively in group discussions on technical problems.
  • Work with others by co-operating, sharing ideas and constructively resolving conflicts.

CURRICULUM DETAIL:

Class materials etc. are made available to students on the website. Students are expected to visit the website regularly to read/download these materials, as directed by their professor(s).

  Details (by week) Reference
1.
  • Review of Course Outline, Book(s) etc.
  • Problem Solving & Design
  • Intro, Steps & Structures, the Programmers Algorithm
Chapter 1 & 2
2.
  • Quality Assurance & Standards
  • Problem Solving & Design
    • Step 1 - Definition
    • Step 2 - Algorithm
  • Language Review Comments in Java (// vs /*..*/
 
3.
  • Terminology
    • Data: Types, Classes & Objects
    • Constants, Variables & Strings
    • Program Structure
    • More on Standards
    • Program Structures
Chapter 3
4.
  • Using User Defined types
    • Input & Output
    • Basic Arithmetic Assignment
    • Counters & Accumulators
Chapter 4 & 5
5.
  • Subroutines
    • In Design (Charts & Pseudocode)
    • In Java - void methods
  • Variable & object Scope
  • Simple Decisions
    • In Design (Charts & Pseudocode)
    • In Programming
Chapter 6
6
  • Passing parameters to subroutines (with no return values)
  • Loops - conditional (while, do while) & iterative (for)
Chapter 7 & 8
7 MIDTERM EXAM  
8
  • More on Subroutines (Methods)
    • Review of void methods
    • Nonvoid methods
    • Method signatures, Arguments & Parameters
    • Method Overloading
 
9.
  • More on Decisions (Nested vs Case)
    • Switch & break
    • Menu programming
  • Strings & String Methods
 
10.
  • More on Loops
    • Nested Loops
 
11.
  • Arrays
    • Concepts - elements, bounds, subscripts, dimensions
    • Arrays in Java
Chapter 13
12.
  • More on Arrays….program walkthroughs
  • Two Dimesional Arrays
 
13.
  • More Design Theory
    • Step 3 Coding the program
    • Step 4 Testing & Debugging
    • Step 5 Documentation
 
14. Final Review, Exam preparation, and project work period  
15. FINAL EXAM  

ASSESSMENT AND EVALUATION

An overall average of 60% must be achieved on the tests for the assignments to be counted for the final mark.

The Marking distribution is as follows:

MIDTERM 30%
FINAL 40%
ASSIGNMENTS AND EXERCISES 30%

Assignment values will increase as complexity increases. A comprehensive final assignment (capstone) will be given which may involve teamwork (at the instructor's discretion).

This course is designated a Programming Course. In all programming courses, a portion of the marks on assignments will be allocated to the adherence of standards and good design principles…program structure, screen layout, and output layout as applicable.

This course is also designated as Writing Intensive (WI). As such, a considerable portion of the marks is allocated to the proper use of the English language in all written work.

Please note: The Distance Learning version of this course (if available) may have a different grading scheme than the classroom version. Check the information page of the Distance Learning version for details. Students must pass the proctored final exam for any other test and lab assignments to count towards their final mark.

COURSE MATERIALS REQUIRED

PC, ISP, JDK 2

PRIOR LEARNING ASSESSMENT

(PLA) College PLA requirements must be followed. PLA consists of an oral qualifying interview and, if successful, a challenge exam. Depending on the level of success on the challenge exam, a case study may be assigned.

ACADEMIC REGULATIONS

It is the responsibility of each student to be knowledgeable of the Humber College Academic Regulations and the School of Information Technology Academic Standards and Regulations. Copies of the standards are available in the School of Information Technology main office H221. It is the student's responsibility to retain course outlines for possible future use in support of applications for transfer credit to other educational institutions. **A charge of $5.00 per course outline may apply for additional copies.**

DISCLAIMER

Every effort will be made by the instructor of the course to cover all the material listed. However, in the event of special circumstances (i.e. time constraints due to inclement weather, sickness, technology problems or changes, etc) the order, content and/or evaluation may be changed with prior notification to students and approval from the Dean/Associate Dean