Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.1 Welcome to Advanced Programming Teacher : Ade Azurat email: ade@cs.ui.ac.id office: Fasilkom Building C Room 3303 Assistants : Ahmad Furqon S.K., M Budi Utama, Ramot Stephanus, Delonika Yuki Eka Putra, Dimas Julian M.R, M Alaydrus Website : http://telaga.cs.ui.ac.id/~ade/courses/adv_prog Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) References Cay Horstmann and Gary Cornell. Core Java 2, volume II: Advanced Features. Sun Microsystems/Prentice Hall, 2002. Cay Horstmann. Big Java. John Wiley and Sons, 2002. Slide 1.2 Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) References David Flanagan. Java in a Nutshell. 4th Edition. O'Reilly, 2002. Deitel. Java How to Program, 5th Edition. Prentice Hall, 2003. Slide 1.3 Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.4 References Doug Lea Concurrent Programming in Java: Design Principles and Patterns 2th Edition Sun Microsystems/Addison Wesley, 2000. Code Convention Java Language Specification Java Tutorial : A Practical Guide for Programmers http://telaga.cs.ui.ac.id/~ade/java Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Course Goals This course aims to teach the techniques for programming in the large and concurrent objectoriented programming, using Java. Topics to be learned: (Course Plan) Programming in the large A deeper view of Java (including JNI,RMI) Design Pattern Concurrent OOP Java Beans Slide 1.5 Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.6 Programming in the small, Programming in the large Programming in the small: the process of writing small programs (routines) to perform some algorithm. Programming in the large: the process of combining building blocks into larger building blocks to arrive at an overall program structure. Programming in the large deals with the design of an application, while programming in the small is restricted to the implementation of an algorithm. The focus of this course is programming in the large. Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Software Tools Java 2 SDK, Standard Edition, Version 1.4x NetBeans IDE, Version 3.x BDK 1.x CVS 1.11.x SDK = Software Development Kit IDE = Integrated Development Environment BDK = Beans Development Kit CVS = Concurrent Versions System Slide 1.7 Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.8 Prerequisites Foundations of Programming (Dasar-Dasar Pemrograman) Data Structures and Algorithms (Struktur Data dan Algoritme) Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.9 Marking Scheme Programming Assignments 20% 45% Quizzes 10% Midterm Exam 20% 20% Programming Exam 25% Final Exam 25% 25% 10% If you cheat on an exam or assignment, you will get a final mark of E. Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Slide 1.10 Collaboration The goal of assignments (homework) is to give you practice in mastering the course material. You must write up each problem solution or program by yourself without assistance, even if you collaborate with others to solve the problem. You are asked on your assignment hand-in to identify your collaborators. If you did not work with anyone, you should write "Collaborators: none". If you obtain a solution through research (e.g., on the world wide web), acknowledge your source, but write up the solution in your own words. Plagiarism and other anti-intellectual behavior cannot be tolerated in any academic environment. Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Submission Scheme Ontime 100 % < 24 Hours 85 % 1 day - 3 days 70 % 3 days - 7 days 60 % Slide 1.11 Ade Azurat, Advanced Programming (Based on L.Y.Stefanus’s Slides) Question ? Slide 1.12