SlideShare a Scribd company logo
Dr Bryan Duggan
DIT School of Computing
bryan.duggan@dit.ie
@skooter500
http://bryanduggan.org
Object Oriented
Programming
About me
• Graduate of DIT!
• Teaching for around 15 years
• I love programming
• Make games, VR & ,music projects
• Run game Jams
• Gamecraft & DubLUDO
• Yoga
• Flute
• Misty & Tara
Object Oriented Programming
Tunepal
• A search-by-playing app for
Android and IOS
• 20K App users
• 23K music scores
• Around 1K music searches
per day
• > 2 Million searches (70%
geotagged)
• Links through to YouTube
• MIDI Playback 
DEEP
Computational Thinking
• How to construct solutions to open-ended
problems
• How to think like a programmer
– Variables
– Algorithms
– Program design
Computational Thinking using
Processing – Semester 1
• Using variables
• Selection
• Iteration
• Arrays, Strings
• Methods
• Classes, fields, methods
• Constructors
• Inheritance
• Polymorphism
• Interfaces & abstract classes
• Design patterns
What is programming?
• Whatever you think programming is…
• It all boils down to one thing:
Making Stuff
What we will make
• Trigonometry
• Circles spirals & generative art
• Data analysis & visualisation
• Conway’s game of life
• Spacewars
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Why Processing?
• It is immensely fun, creative, addictive
• You can learn programming by making cool stuff
• Easier to attain a flow state
• You can learn all the important stuff and it is easy
to transfer these skills to other frameworks
• You will learn & code in lots of different
languages in college
• You can use Python, C++, Go, Swift whatever you
like for your second semester assignment
Flow
• Fully immersed in a feeling of energized focus, full involvement, and
enjoyment in the process of the activity.
• Complete absorption in what one does.
• Named by Mihály Csíkszentmihályi, the concept has existed for thousands
of years under other guises, notably in some Eastern religions
• Achieving flow is often colloquially referred to as being in the zone
• Completely focused motivation.
• Single-minded immersion
• The ultimate experience in harnessing the emotions in the service of
performing and learning.
• In flow, the emotions are not just contained and channeled, but positive,
energized, and aligned with the task at hand.
• A feeling of spontaneous joy, even rapture, while performing a task
• Deep focus on nothing but the activity – not even oneself or one's
emotions.
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Semester 2 - Java
• Build a full music retrieval system similar to Tunepal using
Java & processing
– The JDK
– Maths library
• Member visibility, operations, static & non-static
– Dynamic programming
– Eclipse
– Using Java libraries
– Collections framework
– Digital signal processing
– JDBC
– Generics
– Inner classes & anonymous inner classes
Terence McKenna
• Lecture tours and workshops promoting
natural psychedelics as a way to explore
universal mysteries, stimulate the
imagination, and re-establish a
harmonious relationship with nature
• He was called the "Timothy Leary of the
'90s”
• Novelty theory and Timewave Zero
• The stoned ape theory
• Magic mushroom spores from aliens
• True Hallucinations
• The Invisible Landscape: Mind,
Hallucinogens and the I Ching
• Felt presence of direct
experience
Object Oriented Programming
• Programming = learning programming
• Learning programming = programming
What do we do in the
class/labs/tutorials?
• In the class on Monday & Tuesday
– Everyone brings a laptop/tablet or phone to code on
– We will learn a new thing together by making something
– I will get us started and then you will build some of it yourself
– Programmer yoga
• In the tutorial on Friday
– Usually an advanced system from the class
– I set the problem, you guys code, we come together at the end
to compare solution
• In the lab
– You guys work on a problem by yourself
– Take an MCQ at the end
Object Oriented Programming
What resources do I need?
• Bring a laptop to class!
• Processing, Eclipse, git for Windows, SourceTree
• Learning Processing book:
– http://www.learningprocessing.com/
• The Java Tutorial
– http://docs.oracle.com/javase/tutorial/
• The Nature of Code
– http://natureofcode.com/
• My YouTube Channel
– http://youtube.com/skooter500
• The course website
– https://github.com/skooter500/OOP-2016-2017
How is the course assessed?
• A lab test (Week 6)
• A take home assignment (due before Christmas)
– Code & a video & readme via github
• Weekly MCQ’s
• A take home assignment over Christmas
• A take home assignment semester 2
– Games Fleadh/Imagine Cup are strongly encouraged
– Anything you like
– Any OO language you like
– A blog & a test plan
Your first assignment!
• A hud/UI for an upcoming sci-fi movie
• You can base it on any movie you like or come
up with your own
• It should be kinda usable
• It should have lots of animation & interactivity
• It can be as far out as you like. In other words
it can be for an alien
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Object Oriented Programming
Ideas
• A comm system
• Navigation
• Engines
• Console
• Weapons systems
Keep in mind.. NO ONE in the history
of programming EVER learned to
program in one of these…
Consider…
Consider..
Object Oriented Programming
Learn programming
IT WILL
CHANGE YOR
LIFE
Data entry clerk
• Salary €8 per
hour
Programmer
• Salary €50 per
hour
Really good Programmer
• Salary €500 per
hour

More Related Content

PDF
Aall pln presentation
PPTX
K 2 intro to i pads
PPTX
Introduction to Pseudocode
PPTX
Ipad in the Classroom 1
PPT
How to succeed in the au reu program qin -edited
PPT
Make your mark becoming 2013-14
KEY
Elearning presentation parent2 1
PPT
October open team meeting
Aall pln presentation
K 2 intro to i pads
Introduction to Pseudocode
Ipad in the Classroom 1
How to succeed in the au reu program qin -edited
Make your mark becoming 2013-14
Elearning presentation parent2 1
October open team meeting

Similar to Object Oriented Programming (20)

PPTX
iPad Webinar 1
PPTX
Learning Strategies
PPTX
Flipped uta final
PDF
Digital thinking
PPTX
Practical engineering
PDF
Marinating Minds: Getting Started before We Get Started
PPT
Welcometo imscomputers7
PPTX
Podcast workshop
PPTX
The Accidental Instruction Librarian (December 2014)
PPTX
British and world literature1 7
PPTX
The world is our classroom!
PPTX
Essentials for a Better ICT Student in Palestine
PDF
Bringing Innovation to Library Services
KEY
Digital Music Production Preview
PPTX
Ga conference 13 solo bit from John Sayers
PPT
Interactive instruction
PPTX
Project 2016
PPT
Technology that enhances classroom learning
PPTX
principles of teaching
iPad Webinar 1
Learning Strategies
Flipped uta final
Digital thinking
Practical engineering
Marinating Minds: Getting Started before We Get Started
Welcometo imscomputers7
Podcast workshop
The Accidental Instruction Librarian (December 2014)
British and world literature1 7
The world is our classroom!
Essentials for a Better ICT Student in Palestine
Bringing Innovation to Library Services
Digital Music Production Preview
Ga conference 13 solo bit from John Sayers
Interactive instruction
Project 2016
Technology that enhances classroom learning
principles of teaching
Ad

More from Bryan Duggan (7)

PPTX
10 Years of Tunepal: Reflections & Future Directions
PPTX
Soc research
PPTX
Scene Graphs & Component Based Game Engines
PPTX
Introduction to Steering behaviours for Autonomous Agents
PPT
Gw01 introduction
PPTX
Tunepal: A cloud powered traditional music search engine
PPTX
Competitions
10 Years of Tunepal: Reflections & Future Directions
Soc research
Scene Graphs & Component Based Game Engines
Introduction to Steering behaviours for Autonomous Agents
Gw01 introduction
Tunepal: A cloud powered traditional music search engine
Competitions
Ad

Recently uploaded (20)

DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Computing-Curriculum for Schools in Ghana
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
Classroom Observation Tools for Teachers
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PPTX
Cell Types and Its function , kingdom of life
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PPTX
Lesson notes of climatology university.
PPTX
Unit 4 Skeletal System.ppt.pptxopresentatiom
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
RMMM.pdf make it easy to upload and study
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
Hazard Identification & Risk Assessment .pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Computing-Curriculum for Schools in Ghana
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Classroom Observation Tools for Teachers
History, Philosophy and sociology of education (1).pptx
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Digestion and Absorption of Carbohydrates, Proteina and Fats
LDMMIA Reiki Yoga Finals Review Spring Summer
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Final Presentation General Medicine 03-08-2024.pptx
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Cell Types and Its function , kingdom of life
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
Lesson notes of climatology university.
Unit 4 Skeletal System.ppt.pptxopresentatiom
Paper A Mock Exam 9_ Attempt review.pdf.
RMMM.pdf make it easy to upload and study
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
Hazard Identification & Risk Assessment .pdf

Object Oriented Programming

  • 1. Dr Bryan Duggan DIT School of Computing bryan.duggan@dit.ie @skooter500 http://bryanduggan.org Object Oriented Programming
  • 2. About me • Graduate of DIT! • Teaching for around 15 years • I love programming • Make games, VR & ,music projects • Run game Jams • Gamecraft & DubLUDO • Yoga • Flute • Misty & Tara
  • 4. Tunepal • A search-by-playing app for Android and IOS • 20K App users • 23K music scores • Around 1K music searches per day • > 2 Million searches (70% geotagged) • Links through to YouTube • MIDI Playback 
  • 6. Computational Thinking • How to construct solutions to open-ended problems • How to think like a programmer – Variables – Algorithms – Program design
  • 7. Computational Thinking using Processing – Semester 1 • Using variables • Selection • Iteration • Arrays, Strings • Methods • Classes, fields, methods • Constructors • Inheritance • Polymorphism • Interfaces & abstract classes • Design patterns
  • 8. What is programming? • Whatever you think programming is… • It all boils down to one thing: Making Stuff
  • 9. What we will make • Trigonometry • Circles spirals & generative art • Data analysis & visualisation • Conway’s game of life • Spacewars
  • 13. Why Processing? • It is immensely fun, creative, addictive • You can learn programming by making cool stuff • Easier to attain a flow state • You can learn all the important stuff and it is easy to transfer these skills to other frameworks • You will learn & code in lots of different languages in college • You can use Python, C++, Go, Swift whatever you like for your second semester assignment
  • 14. Flow • Fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. • Complete absorption in what one does. • Named by Mihály Csíkszentmihályi, the concept has existed for thousands of years under other guises, notably in some Eastern religions • Achieving flow is often colloquially referred to as being in the zone • Completely focused motivation. • Single-minded immersion • The ultimate experience in harnessing the emotions in the service of performing and learning. • In flow, the emotions are not just contained and channeled, but positive, energized, and aligned with the task at hand. • A feeling of spontaneous joy, even rapture, while performing a task • Deep focus on nothing but the activity – not even oneself or one's emotions.
  • 19. Semester 2 - Java • Build a full music retrieval system similar to Tunepal using Java & processing – The JDK – Maths library • Member visibility, operations, static & non-static – Dynamic programming – Eclipse – Using Java libraries – Collections framework – Digital signal processing – JDBC – Generics – Inner classes & anonymous inner classes
  • 20. Terence McKenna • Lecture tours and workshops promoting natural psychedelics as a way to explore universal mysteries, stimulate the imagination, and re-establish a harmonious relationship with nature • He was called the "Timothy Leary of the '90s” • Novelty theory and Timewave Zero • The stoned ape theory • Magic mushroom spores from aliens • True Hallucinations • The Invisible Landscape: Mind, Hallucinogens and the I Ching • Felt presence of direct experience
  • 22. • Programming = learning programming • Learning programming = programming
  • 23. What do we do in the class/labs/tutorials? • In the class on Monday & Tuesday – Everyone brings a laptop/tablet or phone to code on – We will learn a new thing together by making something – I will get us started and then you will build some of it yourself – Programmer yoga • In the tutorial on Friday – Usually an advanced system from the class – I set the problem, you guys code, we come together at the end to compare solution • In the lab – You guys work on a problem by yourself – Take an MCQ at the end
  • 25. What resources do I need? • Bring a laptop to class! • Processing, Eclipse, git for Windows, SourceTree • Learning Processing book: – http://www.learningprocessing.com/ • The Java Tutorial – http://docs.oracle.com/javase/tutorial/ • The Nature of Code – http://natureofcode.com/ • My YouTube Channel – http://youtube.com/skooter500 • The course website – https://github.com/skooter500/OOP-2016-2017
  • 26. How is the course assessed? • A lab test (Week 6) • A take home assignment (due before Christmas) – Code & a video & readme via github • Weekly MCQ’s • A take home assignment over Christmas • A take home assignment semester 2 – Games Fleadh/Imagine Cup are strongly encouraged – Anything you like – Any OO language you like – A blog & a test plan
  • 27. Your first assignment! • A hud/UI for an upcoming sci-fi movie • You can base it on any movie you like or come up with your own • It should be kinda usable • It should have lots of animation & interactivity • It can be as far out as you like. In other words it can be for an alien
  • 51. Ideas • A comm system • Navigation • Engines • Console • Weapons systems
  • 52. Keep in mind.. NO ONE in the history of programming EVER learned to program in one of these…
  • 57. Data entry clerk • Salary €8 per hour
  • 59. Really good Programmer • Salary €500 per hour