Close this window Syllabus: WBIT 2311 Program and Problem Solving II - Cheryl Garvin Summer 2009 Course Description The emphasis of this course is on advanced programming techniques in Java including GUI's, software reuse through component libraries, recursion, event-driven programming, database processing, file processing, and exception handling. Students are able to create event-driven, graphical programs or text-based programs solving practical problems incorporating databases and external files. Course Description Prerequisites Prerequisites WBIT 1310 Programming and Problem Solving I, WBIT 2300 Discrete Math for IT. Course Objectives/Outcomes/Goals Course Outcomes Upon successful completion of this course, students will be able to: 1. 2. 3. 4. Implement event-driven GUI programs in Java Use Java’s exception handling mechanism Write simple multithreaded programs Access external information from a Java program (databases and files) 5. Use Java collections framework 6. Test and debug Java programs 7. Build well engineered and maintainable Java programs to meet business organizational needs Course Outlines 1. GUI – Event Driven 2. Error Handling / Exceptions 3. Basic multithreading 4. 5. 6. 7. 8. Files/DB Access Data Structures (stacks, queues, links, linked list) Algorithm Development Testing and Debugging Libraries Textbook Information Title Introduction to Java Programming with JBuilder, 3/E Author Y. Daniel Liang Publisher Prentice Hall Edition/Year 3RD/2004 ISBN 0-13-143049-1 Type Required resource Optional References Java in a Nutshell David Flanagan O'Reilly and Associates 4TH/2002 0-59-600283-1 Beginning Java 2 Ivor Horton Wrox 2000 0-76-454365-2 Java 2: A Beginner's Guide Herb Schildt Mc Graw-Hill Osborne Media 1ST/2000 0-007-212742-2 Instructor Information Instructor Information Name: Chery Garvin Email: Use Vista email Land Phone: 714-243-8814 Cell Phone: 714-478-9404 Instructor Contact Policy Instructor Contact Policy E-mail or phone are both acceptable methods for communication with me. I check email every morning, Monday through Saturday. Follow-up to unanswered e-mail is welcomed, as there are instances in which messages get “lost.― <BR You are welcome to use the discussion board for questions, however, if you need a quick answer, please use e-mail or phone. If I cannot answer the phone at the time of your call, please leave a message and I will contact you as soon as possible. Please leave your phone number and a brief summary of your issue. I can be reached by telephone at 714-243-8814 or 714-478-9404, and through Vista email. Policy on Changes to the Syllabus Policy on Changes to the Syllabus The professor reserves the right to change the syllabus and class schedule, including assignments and tests with prior notice give to the class. Class Cancellation Policy While class cancellation does not apply to an asynchronous online course, should instructional delays occur due to server or connection problems or other unforeseen circumstances, we will endeavor to remain on schedule. Such remedies may include adjustments to due dates, online discussion or tutoring sessions, etc. Class Cancellation Policy Attendance/Participation Attendance/Participati on All students enrolled in the WebBSIT Program must verify their enrollment via WebCT Vista. Enrollment verification information is provided to the Financial Aid Office of your home institution. To verify your enrollment you must log-in to each of your WebCT Vista courses by 5:00 PM on the first dya of course instruction. Consistent participation is required. Activities include, e-mail correspondence, discussion threads and study groups, assignment submissions, etc. http://www.webbsit.org/StudentPortal/enroll. asp Withdrawal Withdrawal Withdrawal policy varies by institution. In general, students who stop attending class without doing the necessary withdrawal paperwork will receive an automatic grade of ‘F’. Students who withdraw after midterm will receive an automatic grade of ‘WF’. Withdrawal policy and procedures are published in the Academic Catalog of your consortium institution. No-Show No-Show Students must log into each of their WebCT Vista courses by 5pm of the day classes begin (Academic Calendar) to confirm their attendance. Remember, you are taking an online course and participation in the course is the only way the instructor can "see" you. If you fail to log into your courses by 5pm of the day classes begin, or fail to complete course activities within a tow-week period at any time during the semester, the instructor will conseder your lack of activity as an indication of your intention not to continue in the course. At this point, the instructor may choose to remove you from group activities or interactions. Failure to participate without officially withdrawing from the course will result in a grade of F. The special circumstances of taking a WebBSIT course demand regular and consistent participation. Be sure to pace yourself throughout the semester making sure your responses to communications and assignments are timely. If you are not able to participate in any assigned class activities, contact your instructor immediately. A registered student, who has failed to attend class (in person or by electronic equivalent) by the final payment deadline for the term, is considered a “no show.†The “no show†student will be administratively withdrawn and will not be reinstated. The “no show― student is obligated to pay for all registration in effect at the end of drop-add even though he or she did not attend. Academic Honesty Academic Honesty Unless otherwise indicated, all assignments, projects, examinations, etc are individual assessments and evidence of excessive collaboration between students will be treated as cheating. Note that representing the work of another is considered cheating. The usual penalty for cheating is an 'F' in the course. Any student guilty of a dishonest academic activity such as (but not limited to ) copying sections from another student's paper or plagiarizing from another source such as a website will receive an F in this course. For further information on Academic Dishonesty review that section of Academic Catalog of your consortium institution. Technology Requirements Technology Requirements Technology Requirements Computers located in on-campus labs or libraries cannot be used as the primary computer resource for taking online classes. You will need the reasonably small suite of hardware and software listed below Required Hardware: Computer: A personal computer with Windows XP or higher, or a MacIntosh with OS 10.4 and software emulation for Windows i.e. Parallels, Fusion PC, or other Windows XP emulator. Sound: A sound card with speakers or headphones. Monitor: A VGA (or equivalent) or better monitor. Strongly Recommended Hardware: Printer connected to the computer CD-ROM drive Microphone Internet Connectivity: Internet access. For a dial-up connection, at least a 56k modem is recommended. Slower dial-up connections will affect course performance. High speed Internet connectivity (cable or DSL) is strongly recommended. Required Software: Microsoft Office XP or beyond, including: Word, Excel, Access, PowerPoint Web Browser: A JavaScript enabled Web browser. These include Netscape 7.1, Internet Explorer 6.0 or newer versions of either. (Note: Internet Service Providers [ISP] with proprietary browsers such as Prodigy or some versions of AOL, may have difficulty with JavaScript-based activities. Contact the ISP to determine if the browser will work with JavaScript.) Virus protection software Flash Player Animations (Tutorials) used in this course require the installation of the cross-platform Flash Player. o Download Flash Player 8 for Windows or Macintosh Assessment Policies/ Overview of Grading/ Grading Scale Quizzes Each unit contains a quiz to be taken online. Your quiz average will be 20% of your total grade for this course. Check the course Calendar to determine the time to take the quiz. You are permitted (but not required) to take each quiz two times with the resulting average as your grade. Failure to complete a quiz during the designated time period will result in a grade of zero. Do not wait until the last minute to attempt your quiz. Assignments Each unit has an assignment that must be completed and submitted to your instructor. For each assignment, you are to submit the zipped project file. The assignments in this course are 15% of your total grade. Check the course Calendar to determine when your assignments are due. Midterm Exam The midterm exam is 30% of your grade for this course. It will be offered at a proctored site. This test will be taken with pencil and paper and will not be online. It will cover material in Units X - X. This is a mandatory exam for this course. Final Exam A final examination worth 35% of your final grade will cover all units in this course. This test will be taken online. Grading Standard A = 90 - 100% B = 80 - 89% C = 70 - 79% D = 60 - 69% F = 00 - 59% PLEASE NOTE: Your final course grade can be no higher than one letter grade above your final exam and midterm average. Assessment Deadline Policies (Late Work) Assessment Deadline Policies (Late Work) It is important to turn in your work by the deadline noted in each week's assignment. If you cannot meet this deadline, you must communicate with me in order to waive late points. Otherwise, late points will be assessed as follows: 1 - 2 days = 5% 3 - 6 days = 10% over 7 days = 20% I always accept late postings. It is just a matter of applying late points or not depending on your communication to me. I grade assignments and post within 72 hours of your due dates. Proctored Exams Proctored Exams Yes Unit 1 - Introduction to GUI Programming Date January 16, 2009 Objectives After completion of this unit, students should be able to: 1. 2. 3. 4. 5. 6. Explain the features of the Java graphics API Use Color, Font and FontMetrics classes Use drawing methods in the Graphics class Create frames, panels, and simple UI components Explain the features of common layout managers Use FlowLayout, GridLayout, and BorderLayout managers 7. Implement a basic grid-layout based application Topics 1. GUI – Event Driven 2. Algorithm Development 3. Testing and Debugging 4. Libraries Readings Liang, Chapter 11 Assignments Grid Layout After you have completed this unit, you should have a general understanding of the layout managers in Java and how to add controls to a Java form. This assignment is the first in a series of assignments in which you will build an application to play music. For this assignment, your task is to implement a basic grid-layout application. The application should consist of a form with the “grid― layout manager. To this form, add 128 buttons; these buttons should each have a distinct label - the numbers sequentially from 0 to 127. Your grid should be 16 buttons in width and 8 buttons in height – resulting in a 16x8 2dimensional grid of buttons. Unit 2 - Create User Interface and Event-Driven Programming Date January 30, 2009 Objectives After completion of this unit, students should be able to: 1. Describe principles of good Graphical User Interface (GUI) design 2. Explain the basics of event-driven GUI programming 3. Construct GUIs using Swing components 4. Utilize buttons, labels, lists, text fields, panels, message dialog boxes and menus 5. Implement programs that handle mouse and keyboard events 6. Use standard event adapters 7. Use anonymous event adapters 8. Create a multi-windowed application Topics 1. GUI - Event Driven 2. Algorithm Development 3. Testing and Debugging 4. Libraries Readings Liang, Chapters 12 and 13 Assignments Responding to Events In this assignment, you are tasked to extend your application from the first assignment (Grid Layout) such that the buttons respond to click events and key presses are handled. When completed, this assignment will allow you to play music on your computer. Implement an event-driven application that invokes a handler when the button is pressed. This handler should assign an “active instrument― property such that clicking a button selects the MIDI instrument associated with the numeric label of the button that was pressed (i.e. if the user presses the “82― button, then the active instrument will be set to 82). You may find it useful to convert the string of the button’s label to an integer. Additionally, your application should respond to key press events. Your KeyListener event handler should play a MIDI note (pitch defined by key pressed) using a sound bank based upon “active instrument― (defined by the buttons above) using the General MIDI Standard (ex. 0 = acoustic piano, 14 = xylophone, 25 = acoustic guitar, etc.). The synthesizer class is provided, so your application should reference it and make use of it (i.e. you don’t have to write this class). Unit 3 - Applet and Advanced Graphics Date January 30, 2009 Objectives After completion of this unit, students should be able to: 1. Explain Java Virtual Machine and platform independence 2. Develop and deploy applets via the applet/object tag 3. Use init, start, stop, and destroy methods in creating applets 4. Pass parameters from HTML pages to applets 5. Implement an applet that displays complex, user-defined graphics Topics 1. 2. 3. 4. 5. GUI – Event Driven Algorithm Development Testing and Debugging Libraries HTML Readings Liang, Chapter 14 Assignments Applets and Graphics In this assignment, you are tasked to build an applet in Java that converts temperatures. Unit 4 - Exception Handling Date February 6, 2009 Objectives After completion of this unit, students should be able to: 1. Explain the need for error and exception handling in programming 2. Describe the exception class hierarchy 3. Define and throw exceptions in a method 4. Use the try-catch block in exception handling 5. Create user-defined exception classes 6. Release resources using finally clause 7. Implement an exception-handling console application Topics 1. 2. 3. 4. Error Handling / Exceptions Algorithm Development Testing and Debugging Libraries Readings Liang, Chapter 15 Assignments Exception Handling Most of us have played the “high-low― guessing game wherein one player picks a number and the other player tries to guess what the number is; in this game, if the guessing player guesses less than the number, then the other player responds “too low,― and if the player guesses more than the number, then the other player responds “too high.― This keeps going until the guessing player correctly guesses the number. Your task in this assignment is to implement such a guessing game using exceptions. Implement an exception-handling console application with the following: Program generates random number that user tries to guess User enters guess Program generates “tooHighâ€, “tooLow†or “correct― exception Exception handler prints appropriate response to user and repeats until the user makes the correct guess Unit 5 - Multithreading Date February 20, 2009 Objectives After completion of this unit, students should be able to: 1. 2. 3. 4. 5. Explain multithreaded programming and its function Explain the life cycle of a thread Use thread priorities Create, control and destroy threads Implement a multithreaded program 6. Explore multithreading with a simple console application Topics 1. 2. 3. 4. Basic multithreading Algorithm Development Testing and Debugging Libraries Readings Liang, Chapter 18 Assignments Multithreading “Racers― Now that you’ve completed the unit on multithreading, you know the basics of how to create and run thread-based classes. This assignment allows you to practice multithreading programming. Your task in this assignment is to create a threaded class that “races― by counting and displaying the numbers from 1 to 10000. Each of the instances of this thread class should have a unique ID (i.e. the first instance should be numbered “1―, the next instance should be numbered “2―, etc.). Now that you have your threaded class, write a main/driver class that instantiates/spawns 10 instances of your threaded class and runs each of them. When the first thread completes and returns, invoke System.exit() to terminate the program; in so doing, you will be able to determine which thread “won― and achieved it’s conclusion first. Unit 6 - Data Structures Date March 6, 2009 Objectives After completion of this unit, students should be able to: 1. Describe the Java Collection Framework hierarchy 2. Use basic Java collection data structures 3. Select an appropriate data structure for an application 4. Explain serialization of objects 5. Implement a stack structure Topics 1. 2. 3. 4. Data Structures (stacks, queues, lists, maps) Algorithm Development Testing and Debugging Libraries Readings Liang, Chapter 17 Assignments A Stack of “Sausage― The objective of this assignment is to allow you to work with the Stack data structure and explore the idea of first-in, last-out (FILO) servicing. Imagine that you're visiting a local all-you-can-eat breakfast bar; among the many items on the bar is a pan of sausages. Your task is to simulate the sausage pan. Note that when new sausages are added to the pan, they're always added to the top (the worker just dumps new sausages on top of the old sausages); also note that whenever someone takes a sausage to eat, they pick the top-most sausage. Thus we've got a stack (first-in, last-out) and the bottom-most sausage is always the oldest. For sake of simplicity, imagine that the pan only allows you to select a "top" sausage (i.e. you can't pick among many). Your task is to utilize a stack collection (the Stack or Vector class is appropriate). Your program should allow the user to add a sausage, remove a sausage, and print the status of the stack. The stack should store the time in which the sausage was added; and when a sausage is removed, the program should display how long the sausage "lived" in the pan (i.e. the difference from now to when it was added to the pan). Important items to consider: Don't allow the user to remove (pop) a sausage if the pan is empty Displaying the status of the stack should show how many sausages are in the stack and the "age" of the topmost sausage Use the Stack or Vector class to make your job a LOT easier (otherwise, you must implement the stack class yourself). To get the time in Java, import java.util.* and then make use of the Date class. Unit 7 - File Access Date March 20, 2009 Objectives After completion of this unit, students should be able to: Topics Readings 1. 2. 3. 4. 5. Describe the Java streams class hierarchy Create input and output streams Read from or write to external files using file streams Use File class Use JFileChooser dialog to access files and directories 1. 2. 3. 4. Files/Database Access Algorithm Development Testing and Debugging Libraries Liang, Chapter 16 Unit 8 - Database Access Date April 3, 2009 Objectives After completion of this unit, students should be able to: 1. 2. 3. 4. 5. Create SQL commands Describe Java Database Connectivity (JDBC) Connect to and query databases using JDBC Connect to and update databases using JDBC Implement a GUI program using JDBC Topics 1. 2. 3. 4. Files/DB Access Algorithm Development Testing and Debugging Libraries Readings Liang, Chapter 22 Assignments Database Access The objective of this assignment is to allow you to work with JDBC via an ODBC-connected Access database. Your first task for this assignment is to locate and set up the “exampleMDB.mdb― file in the supplemental chapters section of the CD-rom that came with your Liang text. Copy this file to your hard drive. Next, create an ODBC connection to this database called “assignment8―. Next, create a simple Java program that connects to this database using JDBC. Your program should then query this database’s “student†table and display a list of all the students’ names in alphabetic order (based upon last name). If you implement your program correctly, this is the output you should see: Rick R. Carter Frank E. Jones Joy P. Kennedy Toni R. Peterson Josh R. Smith Jean K. Smith George K. Smith Jacob R. Smith John K. Stevenson Patrick R. Stoneman Josh R. Woo Important Dates Important Dates Summer Semester 2009 WebBSIT Term Calendar First Day Students May Log into Vista Courses 11-Aug Classes Begin 14-Aug Students Must Log Into Course to Confirm Attendance for Financial Aid 14-Aug Drop/Add 14–19 Aug Last Day for Students to request alternate proctored exam sites 29 - May Contact Testing Center to schedule proctored exams for each course 29 - May Midterm exams 8-10 June Midpoint Date Last Day for Students to Withdraw with a grade of "W" 17-June Online course evaluation period begins 1-July Online course evaluation period ends 22-July Classes end 22-July Final Exams 23, 24, & 27 July Close this window
© Copyright 2026 Paperzz