We may earn an affiliate commission when you visit our partners.
Course image
Evan Bergman and Noel J. Bergman

In Object-Oriented Concepts, we will introduce the core concepts behind modern, object-oriented, programming. We will discuss objects, classes, messaging, inheritance, polymorphism, and more. As with Fundamentals of Programming, we will illustrate the concepts using the Python language, but they will be portable to other object-oriented programming languages.

Read more

In Object-Oriented Concepts, we will introduce the core concepts behind modern, object-oriented, programming. We will discuss objects, classes, messaging, inheritance, polymorphism, and more. As with Fundamentals of Programming, we will illustrate the concepts using the Python language, but they will be portable to other object-oriented programming languages.

This course includes hands-on labs where you will learn to write and execute programs.

Enroll now

What's inside

Syllabus

Getting Started with Fundamentals of Programming
In this module we'll review what you will be learning, and we'll start off with the basic concepts of programming. We will discuss what programs are, and what common elements you would come across in almost any mainstream programming language. Foremost, we'll try to get across the essential spirit and challenge of computer programming.
Read more
Programming Elements
Is this module, we will cover all of the fundamental programming elements that we intend to cover for this course. These elements include a few data types, specifically numbers, strings, Booleans and arrays. Given those data types, we'll talk about operators that work on them. We'll put those things together into expressions, and learn to use variables. Moving on, we'll learn to package reusable code in subroutines, and to incorporate both conditional and repetitive execution. Throughout, you'll have hands-on exercises to try these things, yourself. And by the end of the course, you'll be surprised by what we can do with just this handful of concepts.
Algorithms
Algorithms are language independent descriptions of the sequences of steps necessary to carry out a task. In this module, we'll look at what that means, talk about the importance of algorithms and logical thinking, and go into some detail on a simple, classic, algorithm.
Design Patterns
Design Patterns are language independent architectural blueprints to help address particular problem domains. They describe the types of components that make up the micro-architecture and the interactions both inside the design pattern and with the design pattern. In this module, we'll look at that in more detail, discuss the importance of design patterns, where you would find them, and we'll discuss a few design patterns. In lab, you'll explore a very simple design pattern.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches foundational concepts in object-oriented programming, following industry standards
Covers fundamental programming principles suitable for beginners
Demonstrates practical implementation through hands-on labs
Covers object-oriented concepts beyond basic principles
Taught by instructors with expertise in object-oriented programming

Save this course

Save Application Programming Fundamentals to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Application Programming Fundamentals with these activities:
Practice Python coding exercises
Engage in regular coding practice to improve your proficiency in Python, which will be essential for implementing OOP concepts during the course.
Browse courses on Python
Show steps
  • Find online coding platforms or resources with Python exercises.
  • Dedicate time each week to solving coding problems.
Participate in peer study groups
Engage with other students in study groups to discuss course concepts, clarify misunderstandings, and reinforce your learning.
Show steps
  • Form or join a study group with other students taking the course.
  • Meet regularly to discuss the course material, solve problems together, and quiz each other.
Follow video tutorials on OOP design patterns
Explore design patterns used in OOP to enhance your understanding of how to structure and organize code effectively.
Browse courses on Design Patterns
Show steps
  • Search for video tutorials on specific design patterns (e.g., Factory, Singleton).
  • Follow the tutorials and practice implementing the design patterns in Python code.
Three other activities
Expand to see all activities and additional details
Show all six activities
Become a mentor for beginner programmers
Solidify your understanding of OOP concepts by mentoring beginner programmers and assisting them in their learning journey.
Show steps
  • Identify opportunities to mentor beginner programmers (e.g., online forums, coding communities).
  • Provide guidance, support, and feedback to help mentees grasp OOP concepts.
Develop a small OOP project
Apply your OOP knowledge by creating a small software project that demonstrates your understanding of object-oriented principles.
Browse courses on Software Development
Show steps
  • Identify a problem or task that can be solved using OOP.
  • Design the class structure and relationships for your project.
  • Implement the OOP concepts in Python code.
  • Test and debug your project to ensure it functions correctly.
Volunteer in open-source projects related to OOP
Contribute to open-source projects that utilize OOP principles to gain practical experience and enhance your portfolio.
Show steps
  • Identify open-source projects on platforms like GitHub that focus on OOP concepts.
  • Review the project documentation and identify areas where you can contribute.
  • Collaborate with the project maintainers and submit pull requests with your contributions.

Career center

Learners who complete Application Programming Fundamentals will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers spend the majority of their time writing application code. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Web Developer
Web Developers translate designs into functional websites. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Database Administrator
Database Administrators ensure that business data is secure and accessible. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Software Developer
Software Developers take concepts from a project's blueprint and turn them into executable computer programs. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Systems Analyst
Systems Analysts use critical thinking to examine business processes and devise ways to improve them. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Network Administrator
Network Administrators manage computer networks. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software products to ensure that they meet the requirements and standards of the organization. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Systems Software Developer
Systems Software Developers analyze, design, and build the software and systems that run computers and networks. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computer systems. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Information Security Analyst
Information Security Analysts identify, analyze, and respond to security risks and vulnerabilities. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Computer Scientist
Computer Scientists conduct research and develop new computing technologies. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Machine Learning Engineer
Machine Learning Engineers design, develop, and implement machine learning solutions. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Data Analyst
Data Analysts collect, analyze, and interpret data to provide insights for decision-making. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Data Scientist
Data Scientists use data to solve business problems. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and implement artificial intelligence solutions. This course may be useful in teaching you important Object-Oriented Programming Concepts like data types, variables, subroutines, conditionals, and repetitive execution.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Application Programming Fundamentals.
More in-depth look at Java and object-oriented programming.
Great introduction to Java and object-oriented programming for beginners.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Application Programming Fundamentals.
Object-Oriented Programming Concepts
Most relevant
Object-Oriented Programming with Java
Functional Programming with Java and Threads
Object Oriented Programming in Java
Introduction to Object-Oriented Programming with Java II:...
Object-oriented Concepts in JavaScript
Object-oriented Programming in Rust 2021
Object Oriented Implementation Using C++
Advanced Perspective of Classes and Object-Oriented...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser