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. |
|
|
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
|