Section 1 7:00 - 9:50 PM W AW 221 Spring 2006
INSTRUCTOR
Name:
Carl M. Rebman Jr., Ph.D.
Office:
208 Olin Hall
Phone:
260-4135 [O]
260-7578 [L]
283-6690 [H]
Office Hours:
T 5:30PM -7:00 PM
W 3:30 - 6:00 PM
TH 10:00 PM - 11:00 PM
other times by appointment
other times by appointment
Email:
carlr@sandiego.edu
Home Page:
http://carl.sandiego.edu
REQUIRED TEXT:
Java Programming Complete Concepts and Techniques, 2nd Edition by
Shelly | Cashman |Starks, Course Technology ISBN: 0-7895-6832-2
Active
Server Pages 3.0
Active Server Pages 3.0: Your visual blueprint for
developing interactive Web sites
Ruth Maran, Ruth Maran
Publisher: Visual
ISBN: 0-76453-472-6 Edition: Paperback; 2000-07-01
Other Readings:
May be placed on reserve in the main library or handed out in class.
Required Equipment: Three 3 1/2-inch computer disk(s) or 1 zip or 1 USB
Memory Stick, to be brought to class DAILY.
DESCRIPTION OF COURSE
The study and development of electronic commerce interfaces for various types of applications. Students are engaged in the complete development of an entire internet-based user interface. Students learn critical application development skills such as design and implementation of object-oriented information systems on distributed platforms using tools such as Java, JavaScript, and Active Server Pages. Includes middleware issues, interaction with enterprise-wide databases and theory of information systems design, analysis, and implementation issues.
MAJOR OBJECTIVES OF COURSE
This
course introduces students to the concepts of the design and development of
object-oriented technologies and the principles of distributed systems
development. The Internet is used as the platform to develop integrated
object-oriented applications with database interactivity.
Students
will design and implement information systems applications using an
object-oriented programming language, such as Java, and learn about the
intricacies of interacting interfaces with local and distributed data objects.
Students will design and develop event-driven information systems using
object-oriented techniques. Systems are developed in a team-based environment
with realistic projects that provide instruction and experience on systems
development in the real world. Software engineering methodologies and industry
best practices are stressed throughout the course.
Students are required to present their projects to the class at multiple stages to encourage constant revision and develop a better understanding of the development process. Students are exposed to a holistic, real-world software development environment using state of the art development methodologies and tools.
After taking this course you will be able to:
Understand the fundamentals and theories of Information System Design and Implementation
Develop interactive web applications using Java and JavaScript
Develop interactive web applications using VBScript
Develop interactive web applications using ASP
Learn about web based application development
Learn how to connect databases with web based applications
Instruction
Several
methods of instruction will be used in the course including lecture,
computer-generated in-class lecture/demonstrations, student exercises and
presentations of intermediate and completed projects. I anticipate devoting
significant time to discussion sessions between and among the students. These
discussion sessions will emphasize general approaches to understanding software
development concepts and promote a team-based development environment,
reflective of real world development. Students will be involved in hands-on
projects that will provide technical skills and encourage learning in a team
based environment.
Written and oral skills are stressed throughout the course in various presentations and intermediate assignment requiring students to outline current development and propose planned systems development methodologies.
Additionally,
some trade books, such as guides to the software etc will be on a recommended
list and excerpts will be provided to students as hand-outs. Specific titles of
these reference books are tied in with the software that will be used for the
course. Students will be encouraged to use the slew of resources available on
the internet on sites such as Sun, Java development site; and various ASP
development discussion groups.
The
larger contexts of software engineering methodologies, systems development,
object-oriented development technologies, business process modeling, etc., are
covered throughout the course through handouts and references to current and
classic articles on the subjects. Students will be provided library references,
Internet references and classroom discussion opportunities for discussion of
relevant articles on software development theory and practice.
Course
Content
The
following are some of the major sub-topics that will be covered in the class.
Software engineering and Systems Design and
Development Methodology (introduced and stressed throughout course)
Introduction
to Software design methodology; The Systems Development Life Cycle, RAD, JAD,
Walkthroughs, process modeling, iterative and evolutionary design paradigm,
Introduction to the Language and the
environment:
Basic
concepts of object-oriented programming: Programming environments; Class
definitions and object instantiations; Object behavior and methods; Applets v/s
Applications. Object-Oriented concepts: Inheritance, Polymorphism, Component
Reuse, The JDK / J++ application development environment, the ASP Language and
VBScirpt
GUI Development:
Development of user interfaces. Graphical controls and their implementation;
HTML, CSS, JavaScript/ASP integration.
Database connectivity:
ODBC and ADO architecture and APIs Connection of visual GUI components with
other resources.
Other
topics
As time permits, this class will attempt to introduce the student to new
upcoming languages such as XML, PERL, and PHP
These
major sub-topics will be broken up into three main modules:
I. IS System Design, Development, Implementation Theory
II. Programming Languages--Concepts, Tools, Application
III. Application of Theory combined with Programming Language Concepts
TEACHING
METHOD
The student is expected to
have read materials or completed assignments as listed on the course schedule
prior to each class. The class discussions/lectures are intended to illustrate
the primary concepts from each section and to provide an opportunity to answer
any questions that may result from the readings.
MAKE-UP EXAMS
There are NO make-up
exams. Students missing a scheduled exam due to a PRE-ARRANGED excused
absence will be allowed to take a final exam that will count as 50% of his/her
final grade.
Absence/Attendance/Participation/Professionalism:
Attendance is critical for success in this class. Although attendance is neither
recorded nor explicitly
used to determine your final grade (unless you miss more than 50% of class
sessions), you will find it much easier to keep up and master the material if
you attend regularly. You are responsible for all material covered in class or
assigned during a class even if you were absent. Please contact me as soon as
possible if you know you must miss a class--contacting me after the fact will
result in loss of participation credit for the class session.
Each
student is also expected to provide a contribution through class discussions and
group projects. Failure to contribute and create presentations may result in
failing the course. Lastly, professionalism is also taken very seriously. It is
very important that proper attention/respect be given towards instructor/guest
lectures and student presentations and contributions.
Dishonesty:
Quizzes, exams, assignments, and projects are to be done individually unless
otherwise noted by the instructor. Ethical behavior is expected, cheating is not
tolerated. Acts of academic dishonesty are taken seriously and dealt with
harshly according to the University’s policies. Acts of academic dishonesty
include: a) unauthorized assistance on an examination; b) falsification or
invention of data; c) unauthorized collaboration on an academic exercise; d)
plagiarism; e) misappropriation of research material; f) unauthorized access of
an instructor’s files or computer account; or g) any serious violation of
academic integrity as established by the instructor. You are encouraged to
review the University's academic integrity procedures in the Graduate Bulletin.
Assignments:
Assignments are due at
the beginning of the class period. There will be no late assignments accepted
without prior approval from instructor, and then if approved late assignments
will be assessed a 10% penalty for each day the assignment is late. These
projects are to be done individually unless otherwise specified and are to be
submitted on the assigned due date and the assigned time.
|
Grade Weights |
Point Value |
|
Midterm |
200 |
|
Final |
200 |
|
Final Project Presentation |
100 |
|
Homework/Assignments/Quizzes |
350 |
| Class Participation, Professionalism | 100 |
|
TOTAL Points |
950 |
Other notes regarding programming assignments. These assignments will mainly be evaluated on two major criteria:
1. quality
of the source code
2. performance of the program
Quality of the source code is evaluated based on the use of meaningful variable names, formatting to improve readability and modularity of the design of the code. Performance of the code is evaluated with respect to criteria such as correctness of output, error handling, etc.
Some assignments may contain an extra credit sections that you may chose to attempt to better your performance. This section is an enhancement of the basic program and will not be graded until the performance criteria of the regular assignment are completely filled.
In general, programming assignments receive the following base grades for performance:
| No Assignment | 0% |
| Assignment will not load | 40% |
| Assignment will Load but not run | 60% |
| Assignment will run with incorrect answers | 75% |
| Assignment will run with correct answers | 90% |
Indentation, commenting, modular structure and general presentation make up the remaining 10%. This scale assumes that a significant effort is made to the assignment.
Programming assignments will be a significant part of your activity in this class and as such are a significant part of your grade. I strongly advise that you do not wait until the last minute to start working on your programming assignment. Although the individual assignments differ, concepts from one assignment carry over to the next. Ask questions, use my time and my office hours but do not let yourself fall behind on programming assignments.
Grading
|
Scale |
Total
Points |
| A+ | >970 |
| A | 931-969 |
|
A- |
900-930 |
| B+ | 870-899 |
| B | 831-869 |
|
B- |
800-830 |
| C+ | 770-799 |
| C | 731-769 |
|
C
- |
700-730 |
Important NOTICE: This grading scale is extremely strict. You must have the exact minimum number of points to receive the grade you desire, that is exactly 970 is an A+, but 96.9 (or 969.9999) is a A, and so on. Therefore note that in advance all petitions to round up to the higher point value will be denied.
IMPORTANT
DATES
Wednesday 5 April 2006
Last Day To Withdrawal from classes
Thursday 11 May 2006
Last Day of Classes
Also note the instructor reserves the right to modify or change any part of this syllabus at any time.