Site Unistra - Accueil
Faire un don

Description

The aim of this course is to introduce students to the principles of Object-Oriented Programming (OOP) using the Java programming language. The course begins with an introduction to basic OOP concepts such as classes, objects, inheritance, and polymorphism. Students will learn how to create classes and objects, and how to use them to model real-world entities. The course delves deeper into advanced OOP concepts, including encapsulation, abstraction, inheritance, and polymorphism. Students will learn how to use these concepts to create robust and maintainable software solutions. Additionally, the course covers topics such as exception handling, file I/O, and generics. Students will also learn about GUI programming using Java Swing, including event handling and layout management. Throughout the course, students will complete practical projects that reinforce the concepts learned in class. These projects will culminate in a final project where students will design and implement a Java application that demonstrates their understanding of OOP principles.

Compétences requises

  • Basic knowledge of programming concepts (variables, loops, conditionals, functions/methods, data types, etc.).

  • Familiarity with fundamental principles of computer science.

  • Understanding of basic algorithms and data structures (arrays, lists, stacks, queues, etc.).

  • Proficiency in a programming language (Java preferred but not required).

  • Ability to write and understand simple code snippets.

Compétences visées

  • Understanding of Object-Oriented Programming (OOP) concepts such as classes, objects, inheritance, and polymorphism.

  • Proficiency in designing and implementing classes and objects to model real-world entities.

  • Ability to use encapsulation and abstraction to create robust and maintainable code.

  • Knowledge of inheritance and polymorphism and their application in software development.

  • Skill in using Java programming language features for OOP, including packages, interfaces, and exceptions.

  • Experience in developing and debugging Java applications.

  • Capability to work on individual and group projects to apply OOP concepts in practice.

Discipline(s)

  • Informatique

Bibliographie

  • Kathy Sierra, Bert Bates, Trisha Gee. Head First Java. O'Reilly Media, Inc; 3rd edition (2022). ISBN: 9781491910771.

  • Rick Halterman. Object Oriented Programming in Java. Southern Adventist University (2008). Creative Commons Licensed, CC BY 4.0.

  • Bruce Eckel. Thinking in Java. Pearson Education; 4th edition (2008). ISBN: 9788131705575.

  • D.S. Malik. Java Programming: From Problem Analysis To Program Design. Course Technology; 3rd edition (2007). ISBN: 9781423901358.

  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software.Addison-Wesley Professional; 1st edition (1994). ISBN: 9780201633610.

Contact

Responsable(s) de l'enseignement
Igor E Silva Peretta : esilvaperetta@unistra.fr