We may earn an affiliate commission when you visit our partners.
Course image
Don Patterson and Sam Kaufman

An introduction to the Objective-C programming language. This will prepare you for more extensive iOS app development and build a foundation for advanced iOS development topics.

Read more

An introduction to the Objective-C programming language. This will prepare you for more extensive iOS app development and build a foundation for advanced iOS development topics.

Objective-C programming requires a Mac laptop or desktop computer. An iOS device is optional if the learner is willing to working exclusively with the simulator. Some learners have been able to work with an OS X virtual machine on Windows, but explaining how to do that is beyond the scope of this course.

Upon completing this course, you will be able to:

1. Read and write Objective-C

2. Have a strong grasp of Objective-C objects

3. Organize their code professionally using objects and blocks

4. Prototype several entry-level apps

Enroll now

What's inside

Syllabus

Get Ready. Get Set. Go!
Welcome to Week 1! This week we will be discussing a variety of topics including the tools that we will be using, a basic orientation to the programming environment and the very basic programming syntax that Objective-C inherits from the C language.
Read more
Functions, Scopes and Encapsulation - oh my!
Welcome to Week 2! This week we will be learning about how functions are defined in C and then how methods are defined in Objective-C. We will look at the more complex rules surrounding scoping and encapsulation of variables and functions. We'll end the week learning about Objective-C objects and memory.
Object Lesson
Welcome to Week 3! At the end of this week you will be able to use Objective-C objections by defining them, instantiating them and passing messages to them. We will also introduce you to some of the objects that are build into the language.
System Libraries to the Rescue
Welcome to Week 4! This week we will be learning about built-in features that help to manage data structures and memory

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
This course teaches skills, knowledge, and tools that are core skills for iOS app development
Builds a strong foundation for beginners in iOS app development and Objective-C programming
Taught by experienced instructors in Objective-C programming and iOS app development

Save this course

Save Foundations of Objective-C App Development to your list so you can find it easily later:
Save

Reviews summary

Largely negative objective-c development course

Learners say this Objective-C development course is frustrating and excruciating. According to reviews, the peer review assignments are absurdly guided and the instructor constantly makes students copy what he's doing without explaining the code or syntax. One student called the course the most frustrating educational experience of their life. Students also complain about the instructor's distracting lack of presentational confidence and typos. However, this summary is based on only four reviews and may not be representative of the course as a whole.
Peer review assignments are too structured.
"The peer review assignments are guided to the point of absurdity, so you're not actually learning but instead parroting what he's doing"
Assignments require students to use unexplained syntax.
"For the first app wherein we do anything useful, we have to use someone else's previously written object, CurrencyRequest, without any explanation of how it works or the syntax required to invoke it."
"We have to change permissions in some file--again with no explanation as to what we're actually doing--then assign variables with--big surprise! new syntax which is not explained!"
Instructor provides little to no explanation for code.
"The instructor constantly makes students copy what he's doing, without explaining the code he's using or syntax."
"he's constantly hemming and hawing, making typos, and generally being distracting with his lack of presentational confidence, so that you can't focus on the material."

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 Foundations of Objective-C App Development with these activities:
Practice programming logic
Strengthen your problem-solving skills by practicing programming logic, which will benefit your understanding of Objective-C.
Browse courses on Programming Logic
Show steps
  • Solve logic puzzles or brainteasers.
  • Participate in online coding challenges.
  • Implement simple algorithms in Objective-C.
Review Objective-C basics
Refresh your memory on the fundamental concepts of Objective-C programming, such as data types and control structures.
Browse courses on Programming Fundamentals
Show steps
  • Review your notes or textbook from previous programming courses.
  • Take practice quizzes or exercises on basic Objective-C concepts.
Organize your course materials
Keep your course materials organized and accessible by compiling them into a single location, making it easier to review and reference information.
Show steps
  • Gather all your course notes, assignments, and quizzes.
  • Create a system for organizing and filing your materials.
  • Use digital or physical tools to keep your materials organized.
Three other activities
Expand to see all activities and additional details
Show all six activities
Solve Objective-C coding problems
Strengthen your understanding of Objective-C syntax and problem-solving skills by working through coding exercises.
Show steps
  • Find practice problems online or in books.
  • Set a timer and try to solve the problems within the allotted time.
  • Check your solutions against the provided answers or consult with a mentor or tutor.
Join an Objective-C study group
Enhance your learning by collaborating with peers in a study group, where you can discuss concepts, share ideas, and work on projects together.
Browse courses on Collaborative Learning
Show steps
  • Find or start an Objective-C study group online or in your local area.
  • Meet regularly with your study group to discuss course materials and work on assignments.
  • Share your knowledge and experiences, and learn from others in the group.
Contribute to an Objective-C open source project
Deepen your understanding of Objective-C by contributing to an open source project, where you can work with others and learn from their code.
Browse courses on Collaborative Development
Show steps
  • Find an Objective-C open source project that aligns with your interests.
  • Read the project's documentation and codebase.
  • Identify an area where you can contribute.
  • Submit a pull request with your proposed changes.
  • Collaborate with the project maintainers to refine and merge your contributions.

Career center

Learners who complete Foundations of Objective-C App Development will develop knowledge and skills that may be useful to these careers:
Mobile Application Developer
A Mobile Application Developer is responsible for designing, developing, and maintaining mobile applications. This course provides a strong foundation for aspiring Mobile Application Developers as it covers the basics of Objective-C programming, which is the primary programming language used for iOS development. The course also covers topics such as object-oriented programming, memory management, and data structures, which are all essential concepts for mobile application developers.
iOS Developer
An iOS Developer is responsible for designing, developing, and maintaining iOS applications. This course provides a strong foundation for aspiring iOS Developers as it covers the basics of Objective-C programming, which is the primary programming language used for iOS development. The course also covers topics such as object-oriented programming, memory management, and data structures, which are all essential concepts for iOS developers.
Software Development Manager
A Software Development Manager is responsible for leading a team of software developers and ensuring that software development projects are completed on time, within budget, and to the required quality standards. This course may be useful for aspiring Software Development Managers as it provides a foundation in Objective-C programming, which is a popular language for iOS app development. The course also covers topics such as object-oriented programming, memory management, and data structures, which are all essential concepts for software developers.
Software Engineer
A Software Engineer is responsible for designing, developing, and maintaining software applications. This course may be useful for aspiring Software Engineers as it provides a foundation in Objective-C programming, which is a popular language for iOS and Mac development. The course also covers topics such as object-oriented programming, memory management, and data structures, which are all essential concepts for software engineers.
Web Developer
A Web Developer is responsible for designing, developing, and maintaining websites. This course may be useful for aspiring Web Developers as it provides a foundation in Objective-C programming, which is a popular language for iOS development. However, it is important to note that Objective-C is not as commonly used for web development as other languages such as JavaScript, HTML, and CSS.
Network Administrator
A Network Administrator is responsible for managing and maintaining computer networks. This course may be useful for aspiring Network Administrators as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical aspects of computer networks. However, it is important to note that Objective-C is not as commonly used for network administration as other languages such as Python and Bash.
Project Manager
A Project Manager is responsible for planning, executing, and closing projects. This course may be useful for aspiring Project Managers as it provides a foundation in Objective-C programming, which can be helpful for developing software solutions for project management. However, it is important to note that Objective-C is not as commonly used for project management as other languages such as Java and C#.
Systems Administrator
A Systems Administrator is responsible for managing and maintaining computer systems. This course may be useful for aspiring Systems Administrators as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical aspects of computer systems. However, it is important to note that Objective-C is not as commonly used for systems administration as other languages such as Linux and Windows.
IT Support Specialist
An IT Support Specialist is responsible for providing technical support to users of computer systems and software. This course may be useful for aspiring IT Support Specialists as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical aspects of computer systems and software. However, it is important to note that Objective-C is not as commonly used for IT support as other languages such as Windows and Mac.
User Experience Designer
A User Experience Designer is responsible for designing and evaluating the user experience of products and services. This course may be useful for aspiring User Experience Designers as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical aspects of user interfaces. However, it is important to note that Objective-C is not as commonly used for user experience design as other languages such as HTML and CSS.
Quality Assurance Analyst
A Quality Assurance Analyst is responsible for testing and evaluating software products to ensure that they meet quality standards. This course may be useful for aspiring Quality Assurance Analysts as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical details of software products. However, it is important to note that Objective-C is not as commonly used for quality assurance as other languages such as Java and C#.
Technical Writer
A Technical Writer is responsible for creating and maintaining technical documentation. This course may be useful for aspiring Technical Writers as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical details of software products. However, it is important to note that Objective-C is not as commonly used for technical writing as other languages such as English and French.
Data Scientist
A Data Scientist is responsible for collecting, analyzing, and interpreting data to extract meaningful insights. This course may be useful for aspiring Data Scientists as it provides a foundation in Objective-C programming, which can be helpful for working with data. However, it is important to note that Objective-C is not as commonly used for data science as other languages such as Python and R.
Business Analyst
A Business Analyst is responsible for analyzing business processes and identifying areas for improvement. This course may be useful for aspiring Business Analysts as it provides a foundation in Objective-C programming, which can be helpful for developing software solutions to business problems. However, it is important to note that Objective-C is not as commonly used for business analysis as other languages such as Java and C#.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. This course may be useful for aspiring Database Administrators as it provides a foundation in Objective-C programming, which can be helpful for understanding the technical aspects of databases. However, it is important to note that Objective-C is not as commonly used for database administration as other languages such as SQL and NoSQL.

Reading list

We've selected 11 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 Foundations of Objective-C App Development.
Is the official documentation for the Objective-C programming language, providing a comprehensive reference for all aspects of the language. It is an essential resource for any serious Objective-C programmer.
Covers advanced topics in Objective-C programming, such as memory management, concurrency, and design patterns. It valuable resource for experienced programmers who want to take their Objective-C skills to the next level.
Provides a comprehensive introduction to the Objective-C programming language. It covers the basics of the language, as well as more advanced topics such as object-oriented programming, memory management, and concurrency.
Comprehensive guide to Cocoa programming for Mac OS X. It covers all the basics of Cocoa, as well as more advanced topics such as object-oriented programming, memory management, and concurrency.
Covers all the basics of iOS development with Swift, as well as more advanced topics such as object-oriented programming, memory management, and concurrency.
Comprehensive guide to software development for experienced programmers. It covers a wide range of topics, including object-oriented programming, memory management, and concurrency.
Classic guide to computer science for experienced programmers. It covers a wide range of topics, including object-oriented programming, memory management, and concurrency.
Classic guide to algorithms for experienced programmers. It covers a wide range of topics, including object-oriented programming, memory management, and concurrency.
Classic guide to algorithms for experienced programmers. It covers a wide range of topics, including object-oriented programming, memory management, and concurrency.
Classic guide to data structures and algorithms for experienced programmers. It covers a wide range of topics, including object-oriented programming, memory management, and concurrency.

Share

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

Similar courses

Here are nine courses similar to Foundations of Objective-C App Development.
Toward the Future of iOS Development with Swift
Most relevant
Introduction to iOS Mobile Application Development
Most relevant
Build iOS Apps with React Native
Most relevant
Flutter & Dart: Complete App Development Course [NEW 2024]
Most relevant
Objective-C 2 for Swift Developers
Most relevant
Start Programming in Kotlin (Part I)
Object Oriented Implementation Using C++
Working with Data in iOS
Introduction to Xamarin.Forms 4
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