| ITC 146 Programming in Java
with Internet Applications |
4 cr. |
This course presents the principal features of the Java language, including
the Java compiler, bytecode, data types, standard control structures, classes,
objects and methods. Abstraction mechanisms, threads, I/O streams, exception
handling, and the use of run-time libraries are also covered. Effective program
and output design are emphasized. Programming assignments include both stand-alone
applications and the writing of applets designed for use within web pages.
Credit for this course may not be applied to the major in Computer and Information
Studies. No more than one of the courses numbered ITC140 through ITC149 may be
counted for degree credit.
Prerequisites: High school algebra I & II.
Goals: The overall purpose of the course is to foster an understanding
of the nature and operation of software through the use of a specific programming
language. Specifically:
- to acquaint the student with the nature of programming in general and
of the use of an object-oriented language in particular;
- to present the main principles enabling the student to design, write,
test, and debug programs;
- to present the main features of the Java programming language and its
environment.
Objectives: Upon successful completion of the course, a student will
have
- applied correct program techniques to design and write a Java program
- developed appropriate debugging techniques and skills
- acquired an understanding of the programming process from problem formulation
through implementation (coding) and testing;
- developed familiarity with the main features of the Java language and the
Java run-time environment;
- developed the ability to read, interpret, and evaluate existing Java code.
Topics:
- general overview of the components of a computer and the nature of programming
- problem solving using top-down, modular, structured design; control
structures, procedures(methods) and parameter passing; pseudocode, hierarchy charts
- the principal ideas of object-oriented design
- fundamentals of Java: intrinsic and user defined data types, declarations,
calculations, precedence rules of operators, classes, objects and methods;
standard uses of strings, structures, and dynamic storage allocation; the Java
compiler, I/O streams and run-time libraries
- standard program structures for stand-alone applications, interactive
processing, and applets
- maximizing the performance of a Java program
- event-driven programs and the Abstract Windowing Toolkit (AWT).
Previous programming experience is not a formal prerequisite
for the course. However, the background and previous experience of the class
members will obviously affect the amount of time spent on general introductory topics
(the first two items in the above topic list).
The course emphasis is on application programming, from the formulation
of a problem, through program design, to final implementation and testing. Class
examples and laboratory assignments are drawn from a variety of application areas.
There will be approximately six laboratory assignments, each involving the design,
coding, and testing of a program, as well as a number of written assignments.
The main focus is on the design and implementation of appropriate algorithms, using
specific features of the Java language and the Java run-time environment. Attention
is also paid to reading and interpreting existing code (both good and bad).
All programs must conform to written guidelines supplied in advance
by the instructor. Regardless of numeric average or grades on individual assignments
or examinations, a student will not qualify for a passing grade in the course unless he
or she has submitted a laboratory report for each assignment within the time frame
specified by the instructor. A student who is unable to complete an assignment within
the specified time should submit an incomplete report for partial credit.
Examinations: There will be a midterm examination (given in class on a
date announced at the beginning of the course) and a two-hour comprehensive final
examination.
Grading: The course grade will be determined using the following approximate
weights: 20% for each examination; laboratory and written assignments, 60%. All
lab and written assignments must be completed in order to receive credit for the course.
Bibliography:
- Sample Text:
Flynt, John. Java Programming for the Absolute Beginner. 2nd Edition.
Course Technology, 2006.
- Other references:
Arnow, David; Weiss, Gerald. Introduction to Programming Using Java:
An Object-Oriented Approach. Addison-Wesley, 2000.
Budd, Timothy. Understanding Object-Oriented Programming with Java.
Updated Edition. Addison-Wesley, 2000.
Bishop, Judy. Java Gently: Programming Principles Explained.
Addison-Wesley, 1998.
Ince, Darrel; Freeman, Adam. Programming the Internet with Java.
Revised Edition. Addison-Wesley, 1998.
Jendrock, Ball, Carson, Evans, Fordin & Haase. The Java EE 5 Tutorial.
Third Edition. Addison-Wesley, 2006.
Johnson, Richard. An Introduction to Java Programming and
Object-Oriented Application Development. Course Technology, 2007.
Koffman, Elliot; Wolz, Ursula. Problem Solving with Java. 2nd Edition.
Addison-Wesley, 2002.
Skansholm, Jan. Java From the Beginning. Addison-Wesley, 2000.
Zakhour, Hommel, Royal, Rabinovitch, Risser & Hoeber. The Java Tutorial:
A Short Course on the Basics. 4th Edition.
Addison-Wesley, 2007.
Salem State Home •
Computer Science Home •
Faculty •
Computer Studies Major •
Flow Sheet
Computer Studies Minor •
Courses •
Course Sequence Diagram •
Computer Laboratories
|