OOP Syllabus 2015-01

3
Universidad Nacional de Colombia Departamento de Ingeniería de Sistemas e Industrial Página 1 UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL Programación Orientada a Objetos - 2016375 Syllabus (2015-01) Lectures Monday, 4-6 (454-401); Wednesday, 4-6 (454-401) Lecturer Jairo Hernán Aponte Melo Office: 453-104, e-mail: [email protected] Teaching assistant Sebastian Alejandro Velasco Dimate ([email protected]) Learning goals The aim of this course is to understand the concepts of Object Oriented Programming and Design, and master OOP using Java and Eclipse IDE. At the end of the course students will be able to: Use the fundamental techniques of object-oriented programming when writing small programs Solve programming problems using the OO paradigm. Write programs in Java using the features of Eclipse to edit, compile, test, debug and deploy them. Build medium-sized standalone applications, working as members of small teams. Main topics Fundamental concepts of object-oriented programming Software construction using the Java technology Supporting tools for software development Best practices for software construction Methodology This is a hands-on course where each session explains one or more fundamental object-oriented concepts and shows how they are used or implemented within small Java programs. It is assumed that the student has read the assigned lectures before each class, so the main purpose of each session is to clarify the concepts, answer questions, and delve into the most relevant issues. In the last part of the course, students will be organized in small teams. Each team will develop a stand-alone Java application in which they will apply all the concepts studied in the course, using the Eclipse IDE and other supporting tools. The team will use a simplified version of an agile process.

description

Syllabus OOP - UNAL

Transcript of OOP Syllabus 2015-01

Page 1: OOP Syllabus 2015-01

Universidad Nacional de Colombia Departamento de Ingeniería de Sistemas e Industrial Página 1

UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL Programación Orientada a Objetos - 2016375

Syllabus (2015-01)

Lectures Monday, 4-6 (454-401); Wednesday, 4-6 (454-401)

Lecturer Jairo Hernán Aponte Melo Office: 453-104, e-mail: [email protected]

Teaching assistant Sebastian Alejandro Velasco Dimate ([email protected])

Learning goals The aim of this course is to understand the concepts of Object Oriented Programming and Design, and master OOP using Java and Eclipse IDE. At the end of the course students will be able to:

Use the fundamental techniques of object-oriented programming when writing small programs

Solve programming problems using the OO paradigm.

Write programs in Java using the features of Eclipse to edit, compile, test, debug and deploy them.

Build medium-sized standalone applications, working as members of small teams.

Main topics Fundamental concepts of object-oriented programming Software construction using the Java technology Supporting tools for software development Best practices for software construction

Methodology This is a hands-on course where each session explains one or more fundamental object-oriented concepts and shows how they are used or implemented within small Java programs. It is assumed that the student has read the assigned lectures before each class, so the main purpose of each session is to clarify the concepts, answer questions, and delve into the most relevant issues. In the last part of the course, students will be organized in small teams. Each team will develop a stand-alone Java application in which they will apply all the concepts studied in the course, using the Eclipse IDE and other supporting tools. The team will use a simplified version of an agile process.

Page 2: OOP Syllabus 2015-01

Universidad Nacional de Colombia Departamento de Ingeniería de Sistemas e Industrial Página 2

Grading Assignments 20% Quizzes 20% First exam 15% Second exam 20% First project presentation 5% Second project presentation 20% Bonus 5%

Content and schedule

WEEK DATE TOPIC READINGS

1 Feb 2 Course presentation This syllabus Feb 4 Abstraction and modeling [BAR05] Chapter 1

2 Feb 9 Java basics [BAR05] Chapter 2 Feb 11 Java basics [BAR05] Chapter 2

3 Feb 16 Objects & Classes [BAR05] Chapter 3 Feb 18 Objects & Classes [BAR05] Chapter 3

4 Feb 23 Objects interaction [BAR05] Chapter 4 Feb 25 Objects interaction [BAR05] Chapter 4

5 Mar 2 Wrap up session Mar 4 First Exam

6 Mar 9 Relationships between objects [BAR05] Chapter 5 Mar 11 Relationships between objects [BAR05] Chapter 5

7 Mar 16 Collections [BAR05] Chapter 6 Mar 18 Collections [BAR05] Chapter 6

8 Mar 23 Holiday Mar 25 Project planning!!

Mar 30 Semana Santa Apr 1 Semana Santa

9 Apr 6 Additional object concepts [BAR05] Chapter 7 Apr 8 Additional object concepts [BAR05] Chapter 7

10 Apr 13 Wrap up session Apr 15 Second Exam

11 Apr 20 First project presentation Apr 22 GUI: Basic concepts [Nie13] Chapter 16

12 Apr 27 GUI: Basic concepts [Nie13] Chapter 16. Apr 29 GUI: Basic Swing components [Nie13] Chapter 17

13 May 4 GUI: Basic Swing components [Nie13] Chapter 17 May 6 GUI: Advanced Swing components [Nie13] Chapter 18

14 May 11 GUI: Advanced Swing components [Nie13] Chapter 18 May 13 GUI: Layout managers [Nie13] Chapter 19

15 May 18 DAL: Object serialization [Sie05] Chapter 14 May 20 DAL: Text files [Sie05] Chapter 14

16 May 25 Exception handling [Sie05] Chapter 11 May 27 Exception handling [Sie05] Chapter 11

17 Jun 2 Second project presentation Jun 5 Registro de calificaciones - SIA

Page 3: OOP Syllabus 2015-01

Universidad Nacional de Colombia Departamento de Ingeniería de Sistemas e Industrial Página 3

Lecture regulations Everybody must come in to class during the first 15 minutes. To avoid interruptions, mobile communication devices should be muted or turned off Computers can be used only if their use is associated with the current class The bonus is related to class attendance and participation

References and resources Books

[BAR05] Barker J., Beginning Java Objects: From Concepts to Code, 2nd Edition. Apress, 2005.

[NIE13] Niemeyer P., Leuck D., Learning Java, 4th Edition. O’Reilly, 2013.

Available at http://it-books.info/book/2595/

[Sie05] Sierra K., and Bates, B. Head First Java, 2nd Edition, O'Reilly Media, 2005.

Available at http://it-ebooks.info/book/3214/

Software

Java SE. http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse IDE. https://eclipse.org

Violet UML Editor. http://sourceforge.net/projects/violet/files/violetumleditor/2.0.1/violetumleditor-2.0.1.exe/download 7-zip file archiver. http://www.7-zip.org/ Foxit reader. http://www.foxitsoftware.com/

Tutorials

Java tutorial #1. https://www.youtube.com/watch?v=J9lkAK0L16I

Java tutorial #2. https://www.youtube.com/watch?v=SWR6Pmskgrs

Código facilito. https://www.youtube.com/watch?v=Z0F7sJaOQtw&index=1&list=PL602060AB32FC864B

Jarroba. http://jarroba.com/

Curso completo de Java. http://www.cursosenhd.com/featured/curso-completo-de-java/#.VEB0tmd5NWi

Java Quick Reference. http://www.tutorialspoint.com/java/java_quick_guide.htm

Tutorials for Java and related technologies. http://www.tutorialspoint.com/java_technology_tutorials.htm

Creating a GUI with Eclipse. https://www.youtube.com/watch?v=OHbSx2iVujE

Poor man’s code repository and versioning with Dropbox. http://stevenbenner.com/2010/02/poor-mans-source-code-

repository-and-versioning-with-dropbox/

Other courses

Programación Orientada a Objetos 2014 (Andrea Cruz). https://sites.google.com/site/poo2014unal/ Programación Orientada a Objetos 2011 (Christian Rodríguez). https://sites.google.com/site/oop20111/ Programación Orientada a Objetos 2009 (Camilo López). https://sites.google.com/site/oop20091/