CS 220 ADVANCED PROGRAMMING IN JAVA by tdo11445

VIEWS: 0 PAGES: 5

									                                                                              October 2007



                          ERIE COMMUNITY COLLEGE
                              COURSE OUTLINE


A.   COURSE TITLE:       CS 220 ADVANCED PROGRAMMING IN JAVA

B.   CURRICULUM:         Mathematics/Computer Science Unit

C.   CATALOG
     DESCRIPTION:        (N)          (3,2)          4.0 CREDITS
                         This course is a continuation of Programming in Java I (CS
                         209). Topics include: advanced topics in object-oriented
                         programming, advanced graphical user interfaces (GUIs),
                         multithreaded programs, networking, database connectivity,
                         structured data types, server-side software including servlets
                         and Java Server Pages, reusable integrable components, and
                         enterprise applications. Prerequisite: CS 209 or permission.

D.   DURATION OF
     INSTRUCTIONAL
     PERIOD:             Two hundred fifty minutes per week for fifteen weeks.
                         (150 minutes lecture, 100 minutes lab).

E.   ACADEMIC CREDIT
     HOURS:              Four (4.0)

F.   SUGGESTED TEXT/
     COURSE MATERIALS:   Advanced Java: Internet Applications by Art Gittleman (2nd
                         Edition)
                         or
                         Advanced Java 2 Platform - How to Program by Deitel, Deitel,
                         & Santry

G.   COURSE OUTCOMES:    Upon completion of this course, the student will be able to:

                         1. Design, write, debug, and execute Java programs using an
                            object-oriented approach.
                         2. Use the existing standard Java class libraries and their
                            Application Programming Interfaces (APIs) to develop Java
                            programs.
                         3. Design, write, and debug Java programs that include the
                            use of vectors and other structured data types.
                         4. Design, write, and debug Java programs that include the
                            use of the capabilities of the Java Collections class.
                         5. Design, write, and debug multithreaded Java programs.
                         6. Design, write, and debug Java programs that use client-
                            server and other technology to implement distributed
                            systems for use on computer networks, both LANs and
                            WANs.
                                      1
G.   COURSE OUTCOMES:
     (CONTINUED)               7. Design, write, and debug Java programs that incorporate
                                  Java Database Connectivity and data retrieval from a
                                  relational database.
                               8. Design, write, and debug Java programs that include
                                  server-side software such as servlets.
                               9. Design, write, and debug Java programs that include the
                                  use of Java Server Pages (JSP).
                               10. Design, write, and debug reusable, integrable
                                   modules/components,including Enterprise JavaBeans.
                               11. Design, write, and debug enterprise applications.
                               12. Design, write, and debug Java programs that consist of
                                   applications in other disciplines such as the sciences,
                                   engineering, and business.
                               13. Write documentation that is included in the internal
                                   program modules.
                               14. TECHNOLOGY OBJECTIVES: Students will be able to
                                  demonstrate “hands on” proficiency in using state-of-the-
                                  art computer software tools and languages to accomplish
                                  the above course objectives. All of the above course
                                  objectives involve the use of computer and information
                                  technology.

H.   PROGRAM COMPETENCIES:
                        • Identify all the steps of the software system life cycle and
                           perform problem analysis, the top-down stepwise
                           refinement design process, coding, and testing.
                               Related Course Outcomes: 1 - 12.

                               •    Write, execute, and debug programs in high-level
                                    languages, an assembly language, and/or hybrid
                                    programs.
                                        Related Course Outcomes: 1-12.

                               •    Explain the concept of an abstract data type (structure)
                                    and design such data types for use in programs.
                                       Related Course Outcomes: 1 - 12, especially 1 – 3.

I.   SUNY General Education
     Ten Knowledge Areas:      Not applicable

J.   ECC Graduate Learning
     Outcomes (GLO):
                               1.      Communicate effectively.
                                         Related CourseObjectives: 1, 3 – 11, 12

                               2.      Read and think critically.
                                          Related Course Outcomes: 2


                                            2
                                   3.      Demonstrate adequate preparation for a career or
                                           continuing education.
                                               Related Course Outcomes:1-14

                                   4.      Demonstrate competence with computers and technology.
                                             Related Course Outcomes: 1 - 12

K.   ASSESSMENT OF
     STUDENT LEARNING:             Achievement of the Course Objectives will be measured by:
                                   1. A minimum of 150 minutes of examination to be
                                      determined by the instructor. Test questions will include
                                      programming questions.
                                   2. Several graded assignments that involve writing and
                                      executing Java programs.
                                   3. Optional: Research project on computer related topics.

L.   LIBRARY RESOURCES:            Computer Labs and Library resources.


M.   TOPICAL OUTLINE:              ADVANCED PROGRAMMING IN JAVA                INSTRUCTIONAL
                                                                               PERIODS

     I. Review Topics                                                          ½ week
         1. Object-oriented programming
         2. The Java programming language and the Java class libraries
         3. System architectures

     II. Structured Data Types I                                               1 ½ weeks
         1. Dynamic data structures
         2. Java Utilities Package
         3. Vector class
         4. Hashtable class
         5. LinkedList class and List interface
         6. Collections class and Collection interface
         7. Stack class (Optional)
         8. Maps (Optional)
         9. Dictionary class (Optional)
         10. Properties class (Optional)
         11. BitSet class (Optional)
         12. Examples

     III. Multithreaded Programs                                               2 weeks
          1. Thread class
          2. Thread states, priorities, and scheduling
          3. Thread synchronization
          4. Producer/consumer relationship
          5. Daemon Threads
          6. Runnable Interface
          7. Examples




                                                3
M.   TOPICAL OUTLINE:
     (CONTINUED)

     IV. Networking                                                        2 weeks
         1. Architecture overview
         2. Identifying network computers (InetAddress class)
         3. Identifying files (URL classes)
         4. Communications on a network
         5. The client-server model
         6. Sockets and ports
         7. Creating a server
         8. Creating a client
         9. Web-based programs
         10. Examples

     V. Java Database Connectivity (JDBC)                                  2 weeks
         1. Database and JDBC overview
         2. Relational database model
         3. Structured Query Language (SQL)
         4. Using JDBC
         5. Insertions, queries, and updates to a database
         6. Examples

     VI. Servlets and JavaServer Pages (JSP)                               3 weeks
         1. Three-tiered architectures
         2. Servlets
         3. HTML forms and HTTP communication
         4. Server-side includes and servlet chaining
         5. JavaServer Pages (JSP)
         6. Session tracking (Optional)
         7. Examples

     VII. Enterprise JavaBeans                                             3 weeks
          1. Building with Beans
          2. Bound and constrained properties
          3. Writing and packaging Beans
          4. Enterprise JavaBeans
          5. JNDI Lookups
          6. Session Beans
          7. Entity Beans (Optional)
          8. Examples

     IX. Evaluation                                                        1 week
         1. Minimum of 150 minutes of tests and/or exams
         2. Several graded assignments and/or lab exercises that include
             writing, debugging, and executing Java programs

     X. Optional Topics:
        1. Multimedia
        2. Extensible Markup Language (XML)
        3. Remote Method Invocation (RMI)
        4. Java Native Interface (JNI)
        5. Advanced Graphical User Interfaces with Swing

                                                4
LAB TOPICS                                                                            WEEKS

NOTE: Most of these lab exercises/assignments will consist of extending and modifying provided Java
programs, rather than writing programs "from scratch".

1. Modify, extend, and debug the provided code for a Java program that                1 week
     uses vectors.

2. Write, debug, and execute a Java program that includes the use of                  1 week
      methods from the Collections class.

3. Write, debug, and execute a multithreaded Java program.                            1 week

4. Write, debug, and execute a multithreaded program that includes
      synchronization.              1 week

5. Write, debug, and execute a Java program that implements a server for              1 week
      a client-server design for use on a computer network (LAN or WAN).

6. Write, debug, and execute a Java program that implements a client for              1 week
      a client-server design for use on a computer network (LAN or WAN).

7. Write, debug, and execute SQL queries to retrieve data from a relational           1 week
      database.

8. Write, debug, and execute a Java program that includes Java Database               2 weeks
      Connectivity.

9. Write, debug, and execute a Java program that includes servlets.                   1 week

10. Write, debug, and execute a Java program that includes servlets                   1 week
     and data retrieval using JDBC.

11. Write, debug, and execute a Java program that includes JavaServer Pages. 2 weeks

12. Write, debug, and execute a Java program that includes a stateless                1 week
     Enterprise JavaBean.

13. Write, debug, and execute a Java program that includes a stateful                 1 week
     Enterprise JavaBean.

N.      PREPARED BY:                        Computer Science Committee
                                            Jeannette Neal, September, 2003,
                                            Revised by Laurette Grupka October 2007


U:\CS OUTLINES - REV '07\CS220 FA-07.docx




                                                       5

								
To top