Introduction
Notice
This book site is currently in development. The availability of the source code is subject to the terms and conditions set forth by the editor. Meanwhile, visitors are encouraged to explore various experiments featured on my personal blog. Updates will be provided as they become available. Thank you for your interest.

Object Oriented Programming #

Welcome to the object oriented programming (OOP) course book site.

Goal #

Learn the (OOP) paradigm, being able to identify and play its main programmer roles.

General skills to be developed:

  • Information literacy.
  • Organization, communication & collaboration.
  • Curiosity & critical thinking.
  • Problem solving, analytical reasoning & creativity.
  • Self-direction.

In particular, attendants will learn:

  • OOP and functional programming fundamentals.
  • Web, mobile and desktop applications development in java-script (JS).
  • Grasp the ability to value, utilize, and actively engage with the FOSS tools employed in crafting this course.

Methodology #

Collaborative active learning to complete the exercises chosen by the different teams in JS using other FOSS such as p5.js and p5.quadrille.js.

Requirements

  1. Teams should be conformed of three people.
  2. Never use someone else’s code unless it’s explicitly allowed. Doing so usually produces confusion.
  3. Developments should be presented within a google drive folder (to be shared soon) and exposed publicly by all team mates.

Grading #

Exercises & quizzes.

Remarks

  1. Grading feedback is only discussed personally in class soon after gradings take place.
  2. Top gradings are only obtained when most of the exercises are completed & an in-depth study is carried out on a proposed subject.
  3. External circumstances such as honors or grade point averages are never taking into account.

Outline #

The course comprises three parts each one having one evaluation (2 weeks) before its completion:

  1. Introduction (3 weeks)
    1. Course Introduction
    2. js source code editors
    3. js introduction
    4. p5 introduction
  2. Application programming interfaces (API’s) (3 weeks)
    1. createQuadrille
    2. drawQuadrille
    3. visitQuadrille
    4. properties
    5. immutable methods
    6. mutable methods
    7. geometry transformations
    8. boolean operations
  3. Classes (3 weeks)
    1. Classes
    2. Inheritance

Main online learning sources #

  1. This site.
  2. mdn webdocs JavaScript.
  3. W3 schools JavaScript tutorial.
  4. p5.js site.
  5. The coding train.

Academic staff #