facebook
favorite button
member since icon
Since July 2023
Instructor since July 2023
Become a full iOS App Developer with guided projects
course price icon
From 45.36 € /h
arrow icon
1. iOS App Environment
1.1. Introduction to iOS SDK
1.2. What’s new in iOS 16
1.3. SDK Tools
1.4. What’s new in Xcode 14.
1.5. Using XCode
1.6. Using Interface Builder
1.7. Using iPhone Simulator
2. Swift Fundamentals
3. Swift Language Basics
3.1. Core Data Types
3.2. String Type
3.3. Tuples & Optionals
3.4. Constants & Variables
3.5. Statements & Operators
3.6. Control Flow & Decisions
3.7. Functions
4. Basic Object Oriented Programming using Swift
4.1. Structs
4.2. Types versus instances
4.3. Member and static methods
4.4. Custom initialization & De-initialization
4.5. Classes
4.6. Initialization
4.7. Methods
4.8. Properties
5. Advanced Object Oriented Programming using Swift
5.1. Optionals
5.2. Introducing optionals
5.3. Unwrapping an optional
5.4. Optional binding
5.5. Nested Types
5.6. Generic Types
5.7. Protocol
6. Memory Management
6.1. Reference Counting Basics
6.2. Automatic Reference Count
6.3. Retain Cycles
7. iPhone Application Basics
7.1. Anatomy of an iPhone application
7.2. Application Life cycle and States
8. User Interface Programming – Basics
8.1. UIKit Framework
8.2. XIB and Interface Builder
8.3. Window & View
8.4. Basic User Controls
8.5. Labels, Text Fields, Buttons, Sliders, Picker etc.
8.6. Building application screens
8.7. Alerts and Action Sheets
9. Auto-layout and Constraints
10. View Controllers
10.1. Basics
10.2. Creating View Controllers
10.3. Content vs Container View Controllers
10.4. Orientation Management
11. User Interface – Special Views
11.1. Image View
11.2. Scroll View
11.3. Table Views
11.4. Populating and configuring Table View
11.5. Data Source and Delegate
11.6. Table View Cells
11.7. Custom Cells
11.8. Editing Table View
11.9. Collection View
12. Multiple View Controllers
12.1. Applications with Multiple Views
12.2. Presenting View Controllers
12.3. Animating View Switching
12.4. Tab based applications (Tab Bar Controller)
12.5. Configuring the Tab Bar
12.6. Navigation based applications (Navigation Controller)
12.7. Working with the Navigation Bar
13. Storyboards
13.1. Storyboard File
13.2. View Controller and Scene
13.3. Segue
13.4. Invoking a Segue
13.5. XIB and Storyboards
13.6. Table View Cell Prototype
14. Multi Touch and Gestures API
14.1. Events and Touches
14.2. Gesture Recognition
15. Data Persistence – 1
15.1. File System
15.2. SQLite
16. 16. Data Persistence – 2
16.1. Core Data
16.2. NSUserDefaults
17. Concurrency and Background Execution
17.1. GCD and Closures
17.2. NSOperation and NSOperationQueue
17.3. Background execution
18. Networking, Connectivity etc.
18.1. Making web request
18.2. Restful services
18.3. JSON
18.4. Apple Push Notification Service
19. Multimedia
19.1. Audio and Video
20. iOS App Architectures
21. MVC, MVP & Clean Architectures
22. Reactive Programming
23. Introduction to unit testing & TDD
24. Introduction to Git
25. Best Practices, Profiling and Performance Tuning
Location
location type icon
Online from Lebanon
About Me
I'm Mojtaba, a seasoned software engineer with six years of experience in the industry. As a passionate trainer and tutor, I specialize in teaching newcomers the foundations of programming, as well as essential concepts like algorithms and data structures. Join me on this learning journey and let's unlock your programming potential together!
Education
Lebanese University, Applied Mathematics Department
Sept 2013-June 2017
• Major And Certificate: BS in Computer Science
• Programming Coursework: Algorithms & Data Structures, Operating Systems, Networks,
Computer Programs Vision & Interpretation
• EE Coursework: Embedded Systems, Computer Arch., Circuits, Logic Design, Signal Processing
Experience / Qualifications
TEDMOB S.A.L
Senior iOS Developer & Team Lead Nov 2020 - Present
• Lead the digital transformation of solutions in banking and telecommunication industry, specially focusing on Fintech technology, and VAS solutions.
• Improved app functionalities by reducing the complexity of the operations and tasks being executed.
• Supervising a team of 6 iOS developers; collaborating closely with back-end, front-end, and QA
teams.
• Worked on development team with 5 other team leads including product, development, UX design
team, and project manager. iOS development was managed using an Agile/Scrum methodology.
• Responsible for managing and tracking the stories, tasks, issues, and backlog using JIRA.
Age
Children (7-12 years old)
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
60 minutes
The class is taught in
English
Arabic
Availability of a typical week
(GMT -05:00)
New York
at teacher icon
Online via webcam
Mon
Tue
Wed
Thu
Fri
Sat
Sun
00-04
04-08
08-12
12-16
16-20
20-24
Similar classes
arrow icon previousarrow icon next
verified badge
Most kids think coding is for "smart kids" or "future programmers."
It's not. Coding is how real people solve real problems.
In this class, we skip the theory. Your child creates real things.

What they'll do:
✓ Build real projects in Scratch: a working game, an interactive animation, a story they coded
✓ Program virtual robots: solve real-world challenges (navigate a maze, automate a task, build a system)
✓ Create in Minecraft Education: design worlds, automate constructions, solve logic problems
✓ Experiment with different languages: not just learn "the right way," but understand that there are many ways to think about a problem
✓ Collaborate and share: work with other kids, get feedback, improve their work
✓ Develop logical thinking: not just for coding, but for anything: solving math problems, science challenges, real-world situations


Why this is different:
We don't teach syntax. We teach how programmers think.
Most children's coding courses say "here's the code, copy it." We teach "what problem are we trying to solve? How could we break it into steps? What options do we have?"
When your child learns to think like a programmer, they can learn any language afterward.

What they take home:
A portfolio of 3–4 completed, working projects. The ability to say "I built this." And the deep understanding that code is a tool to make real things happen.

Format: Online or Barcelona | 60–90 min sessions | Flexible pace, no prior experience needed
For curious 8-12 year olds who want to build.
verified badge
Engineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please contact me
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
doctoral student in engineering sciences provides support courses in analog and digital electronics at any DEUG level and engineering schools. having scientific and technical knowledge, three years of experience in the field of teaching, pedagogy and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they are having difficulty. for more info please contact me
verified badge
You will learn Systematic Reasoning & Logical Thinking which is a requirement for entering Computer Science program in many universities.
The book “Delftse Foundations of Computation” especially its second chapter will be the main source of our lesson, but other more in-depth books will be also covered if you want to improve even further on logical thinking.
The topics in our lesson include:
• Propositional Logic: Logical operators; Precedence rules; Logical equivalence; Implications in English; Exclusive or; Universal operators; Classifying propositions
• Boolean Algebra: Substitution laws
• Logic Circuits: Logic gates; Combining gates to create circuits; From circuits to propositions; Disjunctive Normal Form; Binary addition.
• Predicate Logic: Predicates; Quantifiers; Tarski’s world and formal structures;
• Deduction: Valid arguments and proofs; Proofs in predicate logic

If you have any additional questions before starting a class, please feel free to ask me. I am here to assist! :)
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Mathematics is the best way to enhance your intellect but also work on your intuition and your ability to see patterns.

Good day, my name is Alex, I have been teaching math for over 10 years to hundreds of students. I will teach all grades from elementary school all the way to high school and IB/GCSE etc.

My philosophy revolves around these three values:
-Encouragement
-Inspiration
-Discipline

I specialize into teaching mathematics and programming, but in some occasions I teach physics too.
Feel free to contact me.
verified badge
Code Your Ideas Into Reality 💻🚀
Want to build your own website or start a tech career? This class is perfect for absolute beginners who want to learn Python and use it to build real, working web apps with Django. You'll go from writing your first line of code to deploying complete projects - step by step, clearly explained, and handsOn.

✨ No experience needed.
🧠 Learn by doing - real apps, real logic.
🌍 Build skills for school, work, or freelance life.

Let’s turn your curiosity into code. First session gets you started!
verified badge
This course introduces students to the fundamentals of Information and Communication Technology (ICT) and its role in modern society. Topics include computer hardware and software, digital communication tools, internet technologies, data management, cybersecurity, and emerging trends. Students will gain practical skills in using productivity software, conducting online research, and understanding the ethical and responsible use of digital resources. The course emphasizes both technical proficiency and digital literacy, preparing learners to confidently navigate and contribute to a technology-driven world.
verified badge
I am a dynamic and demanding teacher who gives private lessons in Physics-Chemistry as well as Mathematics.

I graduated from teaching seven years ago, after a masters in physical sciences with honors, and I teach in college and high school since.
I have also been preparing students for the Baccalaureate Science for many years, all of whom have been awarded very good honors.
I also prepare my students for different exams (Matu, Bac, preparation for EPFL, etc...)

I make sure to rework the basics so that the student can progress quickly. It is important to me that my students acquire a solid foundation of knowledge.
I also give effective work methods that will allow him to progress much more quickly and so he can regain self-confidence.

I can travel to the student's home or also conduct the lesson via Zoom/Google Meet.
verified badge
I teach coding to beginners and intermediate students.
Lessons focus on logic, basic programming, and practical exercises.
Classes are adapted to the student’s pace.
Students can choose between website or mobile app development.Hands on dev
verified badge
Working part-time in the watch industry, I have been tutoring for several years in the context of refresher, occasional support or preparation of exams or competitions. Very experienced in relation to the difficulties encountered by students and pedagogue, I adapt to the needs of each to quickly regain the necessary confidence, the methodology of mathematical reasoning and allow a rapid improvement of results.
Experienced and pedagogue, I adapt to the needs of the student to help him consolidate his knowledge methodically, to regain confidence and improve as quickly as possible its results. I teach these courses in a radius of 30 km around Geneva.
verified badge
Υποψήφιος Διδάκτορας Πληροφορικής – Ιδιαίτερα Μαθήματα & Παγκύπριες

Είμαι Υποψήφιος Διδάκτορας Πληροφορικής και προσφέρω ιδιαίτερα μαθήματα Πληροφορικής σε μαθητές Λυκείου (Παγκύπριες Εξετάσεις) καθώς και σε φοιτητές Πανεπιστημίου, με έμφαση στη σωστή κατανόηση και στη μεθοδική σκέψη.

Παγκύπριες Εξετάσεις – Πληροφορική

Συστηματική προετοιμασία με έμφαση:
• κατανόηση της ύλης
• σωστή αλγοριθμική σκέψη
• μεθοδολογία επίλυσης θεμάτων
• ανάλυση παλαιών θεμάτων Παγκυπρίων

Καλύπτουμε ενδεικτικά: ψευδοκώδικα, πίνακες, επαναλήψεις, δομές ελέγχου και συχνά λάθη εξετάσεων.

Φοιτητές & Γενική Πληροφορική

Υποστήριξη σε:
• Προγραμματισμό (C / C++ / Python)
• Λειτουργικά Συστήματα
• Αρχιτεκτονική Υπολογιστών
• Κατανόηση & debugging κώδικα

Μαθήματα δια ζώσης ή online, με έμφαση στην κατανόηση και στη σωστή οργάνωση μελέτης.


English text below

PhD Candidate in Computer Science – Private Tutoring & Pancyprian Exams

I am a PhD candidate in Computer Science offering private tutoring for high school students (Pancyprian Exams – Computer Science) and university students.

Pancyprian Exams – Computer Science

Structured exam preparation focusing on:
• understanding the syllabus
• correct algorithmic thinking
• exam-oriented problem-solving
• analysis of past Pancyprian exams

Topics include pseudocode, arrays, loops, control structures, and common exam mistakes.

University & General Computer Science

Support in:
• Programming (C / C++ / Python)
• Operating Systems
• Computer Architecture
• Code understanding and debugging

Lessons are available in person or online, with emphasis on understanding concepts rather than memorization.
verified badge
This course is designed for students and professionals who want to learn how to analyze data using the R programming language. You will start with the basics of R, including variables, data types, and simple functions, and then move on to real-world data analysis skills such as data cleaning, visualization, and basic statistics.

By the end of the course, you will be able to work with datasets, create clear and professional graphs, and perform meaningful data analysis for projects, studies, or work.
verified badge
This class is designed for beginners who want to start learning robotics in a simple and practical way.

Students will learn the basics of electronics, Arduino programming, sensors, motors, and how to build small real-world projects step by step. No advanced background is required.

The course focuses on hands-on learning: connecting components, writing Arduino code, understanding how robots work, and creating mini projects such as smart fans, automatic lights, and simple robots.

By the end of the class, students will understand how hardware and software work together and will be able to build their own basic robotic systems.

This class is suitable for students, hobbyists, and anyone interested in robotics and technology.
message icon
Contact Mojtaba
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Most kids think coding is for "smart kids" or "future programmers."
It's not. Coding is how real people solve real problems.
In this class, we skip the theory. Your child creates real things.

What they'll do:
✓ Build real projects in Scratch: a working game, an interactive animation, a story they coded
✓ Program virtual robots: solve real-world challenges (navigate a maze, automate a task, build a system)
✓ Create in Minecraft Education: design worlds, automate constructions, solve logic problems
✓ Experiment with different languages: not just learn "the right way," but understand that there are many ways to think about a problem
✓ Collaborate and share: work with other kids, get feedback, improve their work
✓ Develop logical thinking: not just for coding, but for anything: solving math problems, science challenges, real-world situations


Why this is different:
We don't teach syntax. We teach how programmers think.
Most children's coding courses say "here's the code, copy it." We teach "what problem are we trying to solve? How could we break it into steps? What options do we have?"
When your child learns to think like a programmer, they can learn any language afterward.

What they take home:
A portfolio of 3–4 completed, working projects. The ability to say "I built this." And the deep understanding that code is a tool to make real things happen.

Format: Online or Barcelona | 60–90 min sessions | Flexible pace, no prior experience needed
For curious 8-12 year olds who want to build.
verified badge
Engineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please contact me
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
doctoral student in engineering sciences provides support courses in analog and digital electronics at any DEUG level and engineering schools. having scientific and technical knowledge, three years of experience in the field of teaching, pedagogy and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they are having difficulty. for more info please contact me
verified badge
You will learn Systematic Reasoning & Logical Thinking which is a requirement for entering Computer Science program in many universities.
The book “Delftse Foundations of Computation” especially its second chapter will be the main source of our lesson, but other more in-depth books will be also covered if you want to improve even further on logical thinking.
The topics in our lesson include:
• Propositional Logic: Logical operators; Precedence rules; Logical equivalence; Implications in English; Exclusive or; Universal operators; Classifying propositions
• Boolean Algebra: Substitution laws
• Logic Circuits: Logic gates; Combining gates to create circuits; From circuits to propositions; Disjunctive Normal Form; Binary addition.
• Predicate Logic: Predicates; Quantifiers; Tarski’s world and formal structures;
• Deduction: Valid arguments and proofs; Proofs in predicate logic

If you have any additional questions before starting a class, please feel free to ask me. I am here to assist! :)
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Mathematics is the best way to enhance your intellect but also work on your intuition and your ability to see patterns.

Good day, my name is Alex, I have been teaching math for over 10 years to hundreds of students. I will teach all grades from elementary school all the way to high school and IB/GCSE etc.

My philosophy revolves around these three values:
-Encouragement
-Inspiration
-Discipline

I specialize into teaching mathematics and programming, but in some occasions I teach physics too.
Feel free to contact me.
verified badge
Code Your Ideas Into Reality 💻🚀
Want to build your own website or start a tech career? This class is perfect for absolute beginners who want to learn Python and use it to build real, working web apps with Django. You'll go from writing your first line of code to deploying complete projects - step by step, clearly explained, and handsOn.

✨ No experience needed.
🧠 Learn by doing - real apps, real logic.
🌍 Build skills for school, work, or freelance life.

Let’s turn your curiosity into code. First session gets you started!
verified badge
This course introduces students to the fundamentals of Information and Communication Technology (ICT) and its role in modern society. Topics include computer hardware and software, digital communication tools, internet technologies, data management, cybersecurity, and emerging trends. Students will gain practical skills in using productivity software, conducting online research, and understanding the ethical and responsible use of digital resources. The course emphasizes both technical proficiency and digital literacy, preparing learners to confidently navigate and contribute to a technology-driven world.
verified badge
I am a dynamic and demanding teacher who gives private lessons in Physics-Chemistry as well as Mathematics.

I graduated from teaching seven years ago, after a masters in physical sciences with honors, and I teach in college and high school since.
I have also been preparing students for the Baccalaureate Science for many years, all of whom have been awarded very good honors.
I also prepare my students for different exams (Matu, Bac, preparation for EPFL, etc...)

I make sure to rework the basics so that the student can progress quickly. It is important to me that my students acquire a solid foundation of knowledge.
I also give effective work methods that will allow him to progress much more quickly and so he can regain self-confidence.

I can travel to the student's home or also conduct the lesson via Zoom/Google Meet.
verified badge
I teach coding to beginners and intermediate students.
Lessons focus on logic, basic programming, and practical exercises.
Classes are adapted to the student’s pace.
Students can choose between website or mobile app development.Hands on dev
verified badge
Working part-time in the watch industry, I have been tutoring for several years in the context of refresher, occasional support or preparation of exams or competitions. Very experienced in relation to the difficulties encountered by students and pedagogue, I adapt to the needs of each to quickly regain the necessary confidence, the methodology of mathematical reasoning and allow a rapid improvement of results.
Experienced and pedagogue, I adapt to the needs of the student to help him consolidate his knowledge methodically, to regain confidence and improve as quickly as possible its results. I teach these courses in a radius of 30 km around Geneva.
verified badge
Υποψήφιος Διδάκτορας Πληροφορικής – Ιδιαίτερα Μαθήματα & Παγκύπριες

Είμαι Υποψήφιος Διδάκτορας Πληροφορικής και προσφέρω ιδιαίτερα μαθήματα Πληροφορικής σε μαθητές Λυκείου (Παγκύπριες Εξετάσεις) καθώς και σε φοιτητές Πανεπιστημίου, με έμφαση στη σωστή κατανόηση και στη μεθοδική σκέψη.

Παγκύπριες Εξετάσεις – Πληροφορική

Συστηματική προετοιμασία με έμφαση:
• κατανόηση της ύλης
• σωστή αλγοριθμική σκέψη
• μεθοδολογία επίλυσης θεμάτων
• ανάλυση παλαιών θεμάτων Παγκυπρίων

Καλύπτουμε ενδεικτικά: ψευδοκώδικα, πίνακες, επαναλήψεις, δομές ελέγχου και συχνά λάθη εξετάσεων.

Φοιτητές & Γενική Πληροφορική

Υποστήριξη σε:
• Προγραμματισμό (C / C++ / Python)
• Λειτουργικά Συστήματα
• Αρχιτεκτονική Υπολογιστών
• Κατανόηση & debugging κώδικα

Μαθήματα δια ζώσης ή online, με έμφαση στην κατανόηση και στη σωστή οργάνωση μελέτης.


English text below

PhD Candidate in Computer Science – Private Tutoring & Pancyprian Exams

I am a PhD candidate in Computer Science offering private tutoring for high school students (Pancyprian Exams – Computer Science) and university students.

Pancyprian Exams – Computer Science

Structured exam preparation focusing on:
• understanding the syllabus
• correct algorithmic thinking
• exam-oriented problem-solving
• analysis of past Pancyprian exams

Topics include pseudocode, arrays, loops, control structures, and common exam mistakes.

University & General Computer Science

Support in:
• Programming (C / C++ / Python)
• Operating Systems
• Computer Architecture
• Code understanding and debugging

Lessons are available in person or online, with emphasis on understanding concepts rather than memorization.
verified badge
This course is designed for students and professionals who want to learn how to analyze data using the R programming language. You will start with the basics of R, including variables, data types, and simple functions, and then move on to real-world data analysis skills such as data cleaning, visualization, and basic statistics.

By the end of the course, you will be able to work with datasets, create clear and professional graphs, and perform meaningful data analysis for projects, studies, or work.
verified badge
This class is designed for beginners who want to start learning robotics in a simple and practical way.

Students will learn the basics of electronics, Arduino programming, sensors, motors, and how to build small real-world projects step by step. No advanced background is required.

The course focuses on hands-on learning: connecting components, writing Arduino code, understanding how robots work, and creating mini projects such as smart fans, automatic lights, and simple robots.

By the end of the class, students will understand how hardware and software work together and will be able to build their own basic robotic systems.

This class is suitable for students, hobbyists, and anyone interested in robotics and technology.
Good-fit Instructor Guarantee
favorite button
message icon
Contact Mojtaba