ppt

advertisement
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
Download