Three small projects for an „Advanced Programming in Java” course ...
Recommend Documents
Computer programming sequence, of three courses. The programming language used in the course is Java. The author used pair programming in the third ...
geometries such as splines and blended surfaces in advanced CAD courses. These projects, in ... A simple cam mechanism modeling tutorial is presented first ...
TCP/IP Protocol suite. •When you write java program that communicate over
network you are working at Application Layer. •Typically you donot need to be ...
No part of this book may be reproduced or ... ADVANCED JAVA PRoGRAmmiNG
... workbook, including the many students who have offered comments, ...
CPSC 219: Advanced Java. James Tam. Advanced Java Programming. After
mastering the basics of Java you will now learn more complex but important ...
CSCE 515: Computer Network. Programming. ------ Java Network Programming
reference: Dave Hollinger. Wenyuan Xu. Department of Computer Science and.
Oct 30, 2004 - objects in Java within a game-world environment with minimal knowledge of ... MUPPETS will be in the last introductory programming course.
derive from SUN source code or binary materials, and (iv) do not include any
SUN binary materials without an appropriate and separate license from SUN.
Java ...
CS2 Advanced Programming in Java note 8. Swing. GUI building in Java. This
note gives a short presentation of Java support for graphical user interfaces,.
GUI indicates Graphics User Interface, which contrasts with the ... problems in
programming GUI. ▫ For GUI programming in Java, we can use AWT (Abstract.
CS2 Advanced Programming in Java note 5. Modular programming in Java:
Interfaces. This note reviews what is meant by modular programming, and looks
in ...
Dynamic programming and greedy algorithms, including Huffman codes. ..... South Florida, Dmitry Goldgof, Sudeep Sarkar and Kevin Bowyer, who helped to ... S. Sarkar and D. Goldgof, âIntegrating image computation in undergraduate level.
Advanced Network Programming Lab using Java. Angelos ... Network
Programming Handbook. 2 ... new BufferedReader(new InputStreamReader(
System.in));.
106. Advanced Java Programming. Instructor's Guide. 2. Revision Notes.
Revision 5.0 broadly updates and rearranges the course with the primary aim of.
Sep 27, 2013 ... "Java The Complete Reference", 8th Edition, by Herbert Schildt ... http://www.
mhprofessional.com/product.php?cat=39&isbn=0071606300.
This course introduces computer programming using the JAVA programming
language with object-oriented programming principles. Emphasis is placed on ...
This course introduces computer programming using the JAVA programming
language with object-oriented programming principles. Emphasis is placed on ...
like perhaps a Mars rover, or a better cell phone, or... you name it, then you couldn't possibly do it ...... If it is not in your dock, you can find it under Ap- plications.
By completing this module, the students should be able to write sophisticated
Java applications. Course Components. Textbooks: Title: Core Java 2 Volume 1-
...
Page 1. Advanced Android Programming. Training Course Outline. Course
Description: Interested in learning how to make Android apps? Learn Android ...
"Core Java™, Volume I - Fundamentals", 9th Edition, Cay Horstmann, Gary
Cornell, ... these "sit atop" the Java JDK, and make Java program development
more ...
scale projects where requirements are almost stable and no detailed ... model which deals with the small scale project development ..... Enhancements in Scum.
AT&T Direct Access Number first. ..... Remote Method Invocation (RMI) and JDBC APIs. 3. ..... To find remote server
Using Java for Network Programming. Practice Course. 1998. TEMPUS_SJEP-
12495-97. József Vörös. Kando Polytechnic of Technology. Institute of Informatics
...
Three small projects for an „Advanced Programming in Java” course ...
1. Three small projects for an. „Advanced Programming in Java” course. Ioan
Jurca. „Politehnica” University of Timisoara. Romania. Agenda. ○Course
Syllabus.
Three small projects for an „Advanced Programming in Java” course
Ioan Jurca „Politehnica” University of Timisoara Romania
Agenda
Course Syllabus zTypes of homework zProject 1: Concurrent programming zProject 2: A tool for DB manipulation zProject 3: RMI application: a chat system zExperience with the projects zConclusions z
1
Course Syllabus The course is a level 4 course in a Computer Science Program at an American college for adult students (CMSC 480) z It covers the following subjects: - Multithreading ( 2 weeks) - Collections (1 week) - Networking ( 2 weeks) - JDBC ( 1 week) - RMI ( 1 week) - Web Services (1 week) - Security (2 weeks) - Develop capstone project ( 3 weeks) z Textbook for the course: C. Horstman, G. Cornell: Core Java, vol. 2 (8th edition) – does not cover multithreading and collections z
Types of homework Homework account for 60% of the final course grade z10% of the grade is given by online participation z30% of the grade is given by „authentic assessment”, i.e. development of a larger „capstone” project – specified as a Web online store application (there is no final exam) zTwo types of homework: - projects (45%) - essay (15%) z
2
Project 1: Concurrent Programming Classical problem of producer/consumer with bounded buffer, with the following specific requirements: - any number of producers and consumers - size of buffer specified by the user - a thread produces or consumes an element in a time computed as Math.random() *10000 - the output shows all events in the system - at least 3 solutions must be submitted, using the following synchronization mechanisms: - synchronized methods, with wait() and notifyAll() - locks and conditions (Java 5) - semaphores (Java 5) - blocking queues (java 5)
z
Project 1 output run: Welcome to the multithreading application. Would you like to specify the number of producers, consumers and buffer capacity? (Enter 'y' for YES and 'n' for NO. y Please enter the number of producers. 5 Please enter the number of consumers. 5 Please enter the desired buffer capacity. 10 Ok. Starting program with 5 producers, 5 consumers, and a buffer size of 10. Press CTRL+C to end program. Producer 5 adding item 5000 Remaining buffer capacity: 9 Consumer 5 got item 5000 Producer 3 adding item 3000 Remaining buffer capacity: 9
3
Project 2: A tool for DB manipulation Main requirements: - starts from a tool given in the course textbook which uses database metadata to display and browse DB tables - must provide facilities for adding new rows in a table and for adding new tables to the database - uses the Derby database which is integrated with the NetBeans IDE - application must work outside the IDE - user manual, including installation instructions and screenshots for different functionality
Project 2: User manual – a paragraph
4
Project 3: RMI Application – a chat system Main requirements: - The chat server keeps track of users, requiring their name and host - Any number of users can ask for connection, send messages, see messages from all other connected users and can disconnect - The solution must be implemented using RMI for communication between users and server, and the Observer design pattern ('callbacks') - user manual must be provided
Project 3: A screenshot
5
Results 16
14
12
10
Project 1 Project 2 Project 3
8
6
4
2
0 100
95
90
85
70
Conclusions - the 3 projects are quite manageable for a onesemester course and deal with essential techniques offered by the Java platform - students encountered most difficulties with the DB project, especially in configuring correctly the DB access - another source of difficulty: testing RMI in a 'true' multi-machine environment - an interesting range of solutions for same requirements from the 20+ students