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	
MID0009	Systems for Design and Implementation	

Semester	Hours: C+S+L+P	Category	Status	
6	2+0+2+0	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
COJOCAR Grigoreta Sofia		Lect.	Programming  Languages and Methods	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
At the completion of this course, the students will be able to:
a) have a systematic knowledge concerning application development methodologies
b) be familiarized with the modern concepts and preocupations in the field of developing application software
c) know the use of computer-aided software development tools	

IV. Course contents
1. Fundamentals of .NET and C#
- .NET platform: comparison with Java platform
- C# language: comparison with Java language

2. .NET Libraries
- Collections
- IO
- Delegation, events
- Graphical user interfaces

3. Reflection
- Reflection in Java and .NET
- Dynamic loading of Java classes
- .NET late binding and dynamic loading of assemblies
- Applying reflection to: persistence, abstract factory, interface dependencies, and dynamic replacement of 

interface implementation

4. Client-Server applications based on TCP communication
- Communication between applications using TCP
- Model client-server applications that use TCP communication
- Creating and starting threads in Java and .NET
- Client applications in Java and C#
- Server applications in Java and C#

5. Remote procedure call based client-server applications
- General model: remote interface, registry (of servicies),communication channel, remote object, skeleton object
- Remote method invocation in Java - java.rmi package
- Remote object on .NET platform - System.Runtime.Remoting

6. Database access components
- .NET tables for data - System.Data
- ResultSets in Java
- Database connections, implementations 

7. Servicies and Relational data sources
- Relational data source
- Relations between relational data sources and servicies
- Data transfer objects between applications

8. Object oriented models and relational databases
- Correspondance between class diagram and relational tables
- Separating bussines model from database using mappers
- Transactions and late loading

9. Application servers
- n-tier systems: client tier -server tier -data tier
- Internal structure of application servers
- Synchronized access of client applications and data consistency

10. XML Processing
- XML language and XML documents
- XML documents type
- Object oriented model for documents (DOM)

11. XML documents applications
- sequenctial parsing of XML documents (SAX) - javax.xml si System.Xml
- DOM implementations - javax.xml si System.Xml
- XML messages for applications communication
- Remote procedure call between applications on different platforms

12. Web applications
- layered systems: browser - web server - application server - database server
- Web server structure 
- Patterns for web applications

	

V. Bibliography
1. Eckel, B., Thinking in C#, MindView Inc, 2004.
2. Larman, C.: Applying UML and Design Patterns: An Introduction to OO Analysis and Design and Unified Process, Berlin, Prentice Hall, 2002.
3. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.
4. Hohpe, G., Woolf, B., Enterprise integration patterns, Addison-Wesley, 2003.
5. ***, Microsoft Developer Network, Microsoft Inc., http://msdn.microsoft.com/
6. ***, The Java Tutorial, SUN Microsystems, Inc, 2004. http://java.sun.com/docs/books/tutorial/index.html
1. Eckel, B., Thinking in Java, 4th edition, Prentice Hall, 2006.	

VI. Thematic of didactic activities per weeks

VII. Didactic methods used

VIII. Assessment
The final assessment method is a practical  exam, consisting in  implementation of mini client-server application.
The final mark  will be obtained as:
A.  Lab activity: 40%
C.  Practical exam: 60%

IX. Additional references

	Dean,							Chair head,

	Date,							Course responsible,
								Lect. COJOCAR Grigoreta Sofia,