Download MID0004 Advanced Programming Methods

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză
SYLLABUS
I. General data
Code
Subject
MID0004
Advanced Programming Methods
Semester
3
Name and
surname
LAZAR Ioan
Name and
surname
Hours: C+S+L
2+1+2
Category
speciality
Status
compulsory
II. Full status faculty members
Scientific Didactic
Chair
title
title
Ph.D.
Lect.
Programming Languages
and Methods
Associated faculty members
Scientific
Institution
title
Type of
position
Type of activity
C
*
S
L
Type of activity
C
S
L
III. Course objectives
- Learn Java language
- Gain significant additional practice in applications’ analysis and design.
- Learn and apply the object-oriented (OO) approach in designing and implementing software systems
- Learn some basic design patterns
- Learn additional knowledge about UML
- Learn basic knowledge about GUI
- Learn to apply GRASP patterns.
IV. Course contents
Java Language
Fundamentals of the Java programming language
Class libraries: Java classes, interfaces and packages
Design by contract and exceptions handling
Unified Modelling Language (UML)
Designing a Framework for Applications with Graphical User Interfaces
Windows and graphical components
Containers and elements: window, menu, label, text box, and button
Composite design pattern
Drawing: adaptor and decorater patterns
Abstract commands
Callback and command patterns
Menus implementations
Event Handling
Observer pattern
Decouplig the sender and the receiver of an event
Model-View-Controller pattern
Java Foundation Classes (JFC/Swing)
Windows and menus
Graphical components: labels, text boxes, and buttons
Lists
General Responsibility Assignment Software Patterns (GRASP)
Expert and creator design patterns
Low coupling and high cohesion
Controller
Business Logic Layer
Class Libraries for Data Structures
Abstract factory, template method, and iterator design patterns
java.util package
Input/output class libraries
java.io package
Serializable objects
Building a persistent frameworks
Brokers for persistent objects
Virtual proxy pattern
Complex object instantiation
Decoupling presentation and logic layers
Model-View-Controller pattern
V. Bibliography
1. Eckel, B., Thinking in Java (3rd ed.), New York: Prentice Hall, 2002.
2. Eckel, B., Thinking in Patterns with Java, MindView Inc, 2004.
3. Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns - Elements of Reusable
Object-Oriented Software, Massachusets, Addison-Wesley, 1994.
4. Larman, C.: Applying UML and Design Patterns: An Introduction to OO Analysis and Design,
Berlin: Prentice Hall, 2000.
5. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.
6. ***, The Java Tutorial, SUN Microsystems, Inc, 2004.
http://java.sun.com/docs/books/tutorial/index.html
VI. Thematic of didactic activities per weeks
1. Java Language and Platform (C1)
- general features of Java language
- Java Virtual Machine
- Differences between C++ and Java
2 Fundamentals of the Java programming language and UML basic review (C2+C3)
- UML notations for classes, associations, dependencies, generalization
Java
Primitive types, Reference types, Arrays
Statements
Classes and Objects
Subclasses and Inheritance
Packages
Garbage Collector
3. Interfaces and Exceptions Handling (C4)
– Abstract Classes
– Interfaces
– Template Method Design Pattern
– Exceptions handling in Java
4. The Java I/O System (C5)
– Input/ Output Streams
– Decorator Design Pattern
– Serialization/ Persistent Objects
5. GUI (C6+C7)
- Swing Library/ Java Foundation Classes
- Windows and graphical components
- Containers and elements: window, menu, label, text box, and button
- Lists and Menus
- Event Handling
- Decouplig the sender and the receiver of an event
6. Model-View-Controller Pattern (C8)
– Observer Design Pattern
– Strategy Design Pattern
7. Stages in the programs construction (C9+C10)
- Plan and elaborate phase –requirements, Use cases
- Analyze phase
- Design phase
8. GRASP (General Responsibility Assignment Software Patterns (C11)
- Expert and creator design patterns
- Low coupling and high cohesion
- Controller
9. Construct (implementation) phase (C12)
Packages
10. Presentation , Application Logic, Storage Layers(C12)
Decoupling presentation and logic layers
Command Design Pattern
11. Persistency (C13-C14)
Building a persistent frameworks
Broker and Bridge
Virtual Proxy Design Pattern
XML
DOM
Processing XML documents using DOM
VII. Didactic methods used
Lectures, practical works, projects, exercises and individual study.
VIII. Assessment
The final assessment method is an exam. There will be two parts:
a written part (consisting of a minicase study),
and a practical part (consisting in a partial implementation of the minicase model).
The final mark (on a ten points scale, one point by default) will be obtained as:
A. Lab activity: 4p
B. Written exam (on paper): 3p
C. Practical exam (at computer): 3p
IX. Additional references
Dean,
Chair head,
Date,
24.09.2009
Course responsible,
Lect. Dr. LAZAR Ioan
Related documents