Data Structures - Java II Programming

Course Information

Course Description:

Data Structures explore fundamental topics in data structures, using Java as a programming vehicle. Topics include lists, queues, searching algorithms and sorting algorithms. Various implementations are covered. Analysis of algorithms is also covered. 

Course Objectives:

The main object of the Data Structures - Java II Programming course is to teach data structure topics using Java as well as OOD to solve a particular problem.   Students should be able to identify, write, compile and run basic code.  The following are the contents covered in this class:

  • Creating Menus and Button Arrays Using the Abstract Windows Toolkit
  • Swing Interfaces with Sorting and Searching
  • Writing Data to a Sequential Data File
  • Using Collections and Strings in a Reusable Class
  • Understanding Abstract Classes and Interfaces
  • Accessing Databases Using JDBC
  • Utilizing Servlets for Web Applications
Prerequisites and Corequisites:
The prerequisite for Data Structures - Java II Programming is Intro to Java Programming.
Course Topics:

Major course topics include the general overview of Data Structures.  The following concepts are covered:

Module 1 - Chapter 6 - Creating Menus and Button Arrays Using the Abstract Windows Toolkit (14 clock hours)

  • Create and implement private variables
  • Include a menu system in a GUI application
  • Manipulate Button arrays
  • Move data in and out of the system clipboard
  • Differentiate between the getAction Command() and the getSource() method
  • Write code to search for which component was clicked
  • Use multiple layout managers
  • Program multiple case solutions
  • Change the icon in a Java program's title bar
  • Access methods from the Toolkit class

Module 2 - Chapter 7 - Swing Interfaces with Sorting and Searching (13 clock hours)

  • List features of the Java Foundation Classes (IFC)
  • Differentiate between AWT and Swing components
  • Create a jFrame application
  • Sort data in parallel arrays
  • Use the keyword, super, in a constructor method
  • Create a tool tip
  • Use methods associated with JPanels, JComboBoxes, JLabels, JTextPanes, and JScrollPanes
  • Use Tabs and Styles in a jTextPane
  • Use methods associated with the Document class
  • Perform linear searches
  • Incorporate Look and Feel methods in an interface

Module 3 - Chapter 8 - Writing Data to a Sequential Data File (15 clock hours)

  • Explain the use of volatile and nonvolatile data
  • Set the Look and Feel using the UIManager calss
  • Customize a JFrame using the setResizable() and setLocation() methods
  • Format dates using letter descriptions and the SimpleDataFormat Class
  • Concatenate a formatted date String onto a file name
  • Understand the data hierarchy
  • Differentiate between sequential and random access files
  • Create a sequential file using Java's DataOutputStream
  • Construct an instance of the DataOutputStreat
  • Describe user events and listener types
  • Implement the showConfirmDialog() method
  • Use write() methods to send data to a secondary storage device
  • Verify the existence of a data file

Module 4 - Chapter 9 - Using Collections and Strings in a Reusable Class (17 clock hours)

  • Develop a class for reuse
  • Understand class and instance variables
  • Use the final qualifier
  • Understand the Collections Framework
  • Create an ArrayList Object
  • Create overloaded constructors
  • Code accessor (get) methods
  • Code mutator (set) methods
  • Code accessor methods for read-only attributes
  • Understand when to use public and private methods
  • Code public instance methods
  • Use an ArrayList method
  • Understand and use the String and StringBuffer classes
  • Code private helper methods
  • Test a reusable class
  • Use a JPassword field

Module 5 - Chapter 10 - Understanding Abstract Classes and Interfaces (17 clock hours)

  • Describe and inheritance hierarchy
  • Discuss single versus multiple inheritance
  • Identify class inheritance versus interface implementation
  • Distinguish between abstract and concrete classes
  • Create related classes using inheritance
  • Create an abstract class
  • Use a final method
  • Create a final class
  • Explain how to concatenate method calls
  • Create a multiple Window user interface
  • Use a callback mechanism
  • Implement an interface
  • Use adapter classes

Module 6 - Chapter 11 - Accessing Databases Using JDBC(14 clock hours)

  • Design a relational database
  • Describe a persistent object
  • Implement the Serializable interface
  • Register an ODBC data source name
  • Load a JDBC database driver and make a connection
  • Drop tables and indexes in a database
  • Create tables, indexes, and keys
  • Create and execute a Prepared Statement Object
  • Perform an SQL database query and process the result set
  • Serialize and deserialize an object
  • Create a data access (DA) class
  • Modify records with an SQL update
  • Use a committed transaction to delete related records
  • Test the TockTrackerDB data access class

Module 7 - Chapter 12 - Utilizing Servlets for Web Applications (18 clock hours)

  • Understand the Model-View-Controller pattern
  • Describe Java Web application components
  • Use JavaScript in an HTML document
  • Describe HTTP GET and POST methods
  • Describe the servlet life cycle
  • Process HTTP requests in a servlet
  • Implement session tracking with HTTP
  • Redirect and forward HTTP requests
  • Acquire data from a Web service
  • Synchronize multithreaded code on an object
  • Create a JavaServer Page (JSP)
  • Modify a deployment descriptor
  • Enable servlet reloading with Tomcat
  • Test a Web application

Students should begin reading modules as outlined under the modules listing in the menu. Modules should be completed in order and all assignments and quizzes should be completed in order.

Specific Course Requirements:
Students should have a well rounded knowledge of Microsoft Windows Operating Systems. Students should also be familiar with maneuvering around on the Internet in order to complete the course materials and requirements.
Textbooks, Supplementary Materials, Hardware and Software Requirements
Required Textbooks:
Please visit the Virtual Bookstore to obtain textbook information for this course:  http://rodp.bkstr.com
Supplementary Materials:
None
Hardware Requirements:
The minimum requirements can be found at http://www.rodp.org/students/hardware_software.htm.
Software Requirements:

Recommended browsers; Internet Explorer (Version 4.0 or above) or Netscape Navigator (Version 4.7 or higher)

Students should also have Real Player, Windows Media Player and Adobe Acrobat Reader installed on their computer.

Instructor Information

Instructor: Natalie Austin, COT/RODP Instructor at the Tennessee Technology Center at Shelbyville.

Email Address: natalie.austin@shelbyville.tec.tn.us

Office Phone: 931-685-5013

Fax: 931-685-5016 (please e-mail instructor through Web-CT e-mail before sending fax)

Virtual Office Hours:

I am on-line on a daily basis.  I will e-mail you if I am going to be away for over 24 hours.  All e-mails are replied to within 36 hours with a solution or to inform you that I am working on a solution.

Assessment and Grading
Testing Procedures:

Quizzes:

There will be seven quizzes, each covering a different module of the course.  All seven quizzes will be similar in format and difficulty.  They will be multiple-choice and consisting of 25 questions each.  There will be a 50 minute time limit per quiz.  If you do not complete the quiz in the 50 minute time frame, your quiz will not be accepted for grading.   Quizzes must be taken at the allotted time unless other arrangements have been approved by the instructor. 

Assignments:

Students will have two assignments (except Module 7 has one) at the end of each module to complete.  These assignments must be submitted by the due date unless other arrangements have been approved by the instructor.  Any assignments submitted within one week past the due date will have 1 point automatically deducted from the final grade of that assignment.  There will be an additional 1 point automatically deducted from the final grade per week past the due date.  Example:  If you are 3 weeks past the due date, you will have 3 points automatically deducted from the final grade. 

Class Discussions:

Students are required to participate actively in 7 discussions. Periodically during the semester, the instructor will post questions concerning a specific topic. Students will have the opportunity to respond to these topics and to other students' responses. Students may also begin their own discussion.

Grading Procedure:

Grading will be based on a straightforward point system. Course grades will depend on students' total scores on the seven quizzes, thirteen assignments and seven discussions. Note the scheduled dates for exams and assignments and plan now to complete them. Below is a listing of points assigned per task:

Seven Quizzes at 25 points each. 

Each Assignment has a maximum score of up to 45 points each.

Each Discussion (Instructor lead) has a maximum score of 10 points.

Grading Scale:

The following scale will be used to calculate final grades.

Total Points (%) Final Grade
489-525 93-100 A
447-488 85-92 B
405-448 77-84 C
368-404 70-76 D
367 or lower 0-69 F

 

Assignments and Participation
Assignments and Projects:

Students must read the assigned modules, participate in the discussions and complete each assignment and quiz associated with each module.

Please see calendar for all due dates.

 

Class Participation:
Students are required to participate in the class discussions. Even if students do not actively participate in all discussions, they are expected to read all of them and be familiar with their contents, as exam questions may be drawn from the discussions. Students are also expected to communicate with the instructor as a learning resource and check the course bulletin board frequently for announcements.
Punctuality:
Students need to consult the Course Calendar for the readings, quizzes, assignment and other due dates. 
Course Ground Rules

The following are recommendations for students taking this class:

Learn how to navigate in WebCT as soon as possible. (Very important!)

Consult the Course Calendar for dates for readings, quizzes, and assignments.

Check the Discussion Board 2-3 times a week to see if the instructor or another student has introduced a new topic for discussion.

Manage your time wisely. Give yourself enough time to read the assigned text chapters and lessons before an exam.

See the Course Calendar for suggested due dates for completion of reading assignment.

Keep abreast of course announcements.

Keep in contact with the instructor on a regular basis.

Use the assigned e-mail address as opposed to a personal e-mail address.

Address technical problems immediately.

Observe course netiquette at all times.

Guidelines for Communications
Email:
  • Always include a subject line.
  • Remember without facial expressions some comments may be taken the wrong way. Be careful in wording your emails. Use of emoticons might be helpful in some cases.
  • Use standard fonts.
  • Do not send large attachments without permission.
  • Special formatting such as centering, audio messages, tables, html, etc. should be avoided unless necessary to complete an assignment or other communication.
  • Respect the privacy of other class members
Discussion Groups:
  • Review the discussion threads thoroughly before entering the discussion. Be a lurker then a discussant.
  • Try to maintain threads by using the "Reply" button rather starting a new topic.
  • Do not make insulting or inflammatory statements to other members of the discussion group. Be respectful of other’s ideas.
  • Be patient and read the comments of other group members thoroughly before entering your remarks.
  • Be cooperative with group leaders in completing assigned tasks.
  • Be positive and constructive in group discussions.
  • Respond in a thoughtful and timely manner.
Chat:
  • Introduce yourself to the other learners in the chat session.
  • Be polite. Choose your words carefully. Do not use derogatory statements.
  • Be concise in responding to others in the chat session.
  • Be prepared to open the chat session at the scheduled time.
  • Be constructive in your comments and suggestion
Web Resources:

Library

The Tennessee Virtual Library is available to all students enrolled in the Regents Degree Program. Links to library materials (such as electronic journals, databases, interlibrary loans, digital reserves, dictionaries, encyclopedias, maps, and librarian support) and Internet resources needed by learners to complete online assignments and as background reading must be included in all courses. 

Students With Disabilities

Qualified students with disabilities will be provided reasonable and necessary academic accommodations if determined eligible by the appropriate disability services staff at their home institution. Prior to granting disability accommodations in this course, the instructor must receive written verification of a student's eligibility for specific accommodations from the disability services staff at the home institution. It is the student's responsibility to initiate contact with their home institution's disability services staff and to follow the established procedures for having the accommodation notice sent to the instructor.

Syllabus Changes

The instructor reserves the right to make changes as necessary to this syllabus. If changes are necessitated during the term of the course, the instructor will immediately notify students of such changes both by individual email communication and posting both notification and nature of change(s) on the course bulletin board.

Technical Support

Telephone Support:

For HELP with:

  • TECHNICAL PROBLEMS please visit the AskRODP Customer Support web page at http://askrodp.custhelp.com or call the AskRODP Help Desk at 1-866-550-RODP (1-866-550-7637)
  • REGISTRATION PROBLEMS contact your home school RODP Campus Contact
  • TBR-RODP RELATED ISSUES contact RODP Help Desk at 1-888-223-0023