Lectures

Announcements

17.06.2011 - Pentru examen, sa aveti asupra voastra carnetul de student (sau alt act de identitate cu poza). La examen vor fi undeva la 4 puncte cu intrebari/cereri de descriere/justificari cu privire la concepte/principii/operatii elementare/etc. si o mica aplicatie de implementat similara diferitelor exemple discutate la curs (daca e cazul, semnaturile operatiilor de biblioteca sunt indicate).

02.03.2011 - Lectures are held every Wednesday from 18:00 in B426.

  • Next time
    • Consultations regarding the lectures & project

Chapter 6 Developing Your Network Programming Project

Implementing in Team (04.05.2011)

 

 

 

 

 

 

 

 

 

 

Infos & Optional Reading

  • Eclipse plugins for SVN: Subversive, Subclipse
  • SVN as a stand-alone tool:
    • You can download various (standalone) SVN distributions (for different OS) from here.
    • A very good book about SVN can be found here (Chapters 1 and 2).

From Use Cases to Class & Sequence Diagram. CRC Cards Session (no slides!) (20.04.2011)

Suggested Reading

  • David Rubin, Introduction to CRC Cards here

Introduction to UML : Class Diagram & Sequence Diagram (13.04.2011)

Suggested Reading

  • M. Fowler - UML Distilled, Chapters 3, 4, 5
  • R. Martin - Class Diagram on Object Mentor's Site here
  • The code used for drawing diagrams during lectures is here

Introduction to Use Cases (06.04.2011)

Suggested Reading

  • M. Fowler - UML Distilled, Chapter 9
  • S. Ambler - Use Case Diagram here

Chapter 5 (30.03.2011 / 06.04.2011)

Java Remote Method Invocation - Part 2

Suggested Reading

  • jGuru : Remote Method Invocation (Sections Parameters in RMI) here
  • Head First Java, Chapter 14 - Saving Objects (pp. 429-446)

Java Remote Method Invocation - Part 1

Suggested Reading

  • E. Gamma, R. Helm, R. Johnson, J. Vlissides - Design Patterns (Proxy Pattern)
  • jGuru : Remote Method Invocation (Sections Java RMI Architecture, Naming Remote Objects, Using RMI) here
  • The semantics of the indicated basic operations from Naming here and UnicastRemoteObject here
  • C. Marinescu, P.F. Mihancea - Programarea Orientata pe Obiecte in Limbajul Java, Capitol 11 - Sectiunea 11.3.2 (pana la cooperare prin conditii) (here)

Chapter 4 (16.03.2011 / 23.03.2011 / 30.03.2011)

TCP/IP and Java Socket Programming - Part 2

Suggested reading

  • The Java Tutorials - All About Sockets (all sections) here
    • Note: It is highly possible to not have a default echos server on your machine but, at the same time, it is a good excercise to write one by yourself
  • The Java Tutorials - All About Datagrams (What is a Datagram? & Writting a Datagram Client & Server ) here
  • The semantics of the basic operations from Socket (here) and ServerSocket (here) classes (those presented on slides and disscussed during lecture class)
    • Optionally, you may compare these operations with those from Berkeley Unix (A. Tanenbaum - Computer Networks 4th Edition, Chapter 6, Section 6.1.3 - Berkeley Sockets)
  • The semantics of the basic operations from DatagramSocket (here) and DatagramPacket (here) classes (those presented on slides and disscussed during lecture class)

Suggested reference for defining/starting a thread in Java

  • C. Marinescu, P.F. Mihancea - Programarea Orientata pe Obiecte in Limbajul Java, Capitol 11 - Sectiunea 11.3.1 (here)

TCP/IP and Java Socket Programming - Part 1

Suggested reading

  • A. Tanenbaum - Computer Networks 4th Edition
    • Chapter 1 - Introduction : Section 1.3 - Network Software
    • Chapter 1 - Introduction : Sections 1.4.1/1.4.2 - Reference Models (especially TCP/IP)
    • Chapter 5 - The Network Layer : Section 5.6.2 - IP Addresses (without Subnets subsection, basic view on CIDR and NAT)
  • The Java Tutorials - Networking Basics (here)

Chapter 3 (16.03.2011)

Back to Network Programming Intro - Basics

Suggested reading

  • I. Sommerville - Software Engineering (Chapter 11 - Architectural Design : Section 11.2.2 - Client-Server Model)
  • B. Eckel - Thinking in Java 3rd Edition (here) (Chapter 12 - The Java I/O System - Sections: Input and Output, Adding Attributes and Useful Interfaces, Readers and Writers, Typical Uses, Standard IO)

Chapter 2 (02.03.2011 / 09.03.2011)

A Review on Object-Orientation with Java Examples - Part 2

Suggested reading

  • A. J. Riel - Object-Oriented Design Heuristics (Chapter 2 - Heuristic 2.1, Chapter 3 - The GodClass Problem (Behavioral Form) - Sections 3.3, 3.4)
  • A. Hunt, D. Thomas - Pragmatic Programmer (Chapter 5 - Section 1: Decoupling and the Law of Demeter)
  • R.C. Martin - Agile Software Development (Chapters 9,10,11 - OCP, LSP, DIP)
    • alternatively, OCP, LSP, DIP from Object Mentor Site

A Review on Object-Orientation with Java Examples - Part 1

Suggested Java reference books

  • K. Sierra, B. Bates - Head First Java
  • C. Marinescu, P.F. Mihancea - Programarea Orientata pe Obiecte in Limbajul Java (here)