facebook
favorite buttonAdd to Wish List
favorite buttonAdd to Wish List
from571.13CNY/ h

Software engineering techniques and practices using C, C++ or VB as examples

This course is more about teaching you how to engineer and how a computer actually works than it is about the languages. All computer software engineering follows similar principles and I have 40 years of engineering things from your mobile phone to the aircraft you fly in.
Besides the software you will learn about computers - how they work, the history and background, the uses being made of them (far more than most people think). This background is not just for fun but it is to help understand the whys and whats of what we do.
You will learn about:
security - how to thwart the hackers by doing your code the right way.
security in terms of signing and encryption of data both in the computer and between computers.
safety critical systems like automotive control
data processing
strengths and weaknesses of some languages and approaches
cloud
up and coming trends such as 'codeless' programming and 'artificial intelligence'
web pages and web backends

Extra information

A laptop is helpful, if you havent got one then I can help source one, it doesnt have to be special.
An idea of what particular things interest you or that you want to do with software.

Ask about group lessons for schools, colleges and companies
Ask about your location, I can travel further under some circumstances

Location

At student's location: Around Gouarec, France
Online via webcam
At teacher's location: Poulficher, Bon Repos sur Blavet, France
At student's location: Around Gouarec, France
At student's location: Around Pontivy, France
At student's location: Around Loudéac, France

|
Use ctrl + wheel to zoom!
+

General info

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:
45 minutes
60 minutes
90 minutes
120 minutes
The class is taught in:English

About Me

40 years of software engineering from the simplest of computers to the complex multi computer systems in autonomous lorries and fly by wire aircraft, including a surprising amount in your mobile phone. Those pictures you see in old programs like 'The Professionals' of big tape players - I worked with those, that packet of crisps - I probably programmed the machine that packets them.
Not a geek in the sense of thinking computers are wonderful, they are a stunningly useful tool but only when someone has programmed them correctly.

Education

PGCE Cambridge (Physics and general science)
BSc (Cranfield) Applied science from Royal Military College of Science
Various technical qualifications for engineering.

Experience / Qualifications

Experience teaching for the UKs Open University
Experience teaching adult education classes at local schools
PGCE qualified
Discussion sessions around history, current affairs or indeed any other subjects you find interesting. Rule is that it will be in English at whatever level you are. Some correction but sympathetically done so that the conversation keeps going.
Different help and study depending on your interests and needs. If at school this maybe that you need help with homework. It maybe that a subject isnt as exciting as you thought and I can help. If later in life you may just have an interest, maybe shared with a group, lets create relevant study groups.
Most of us have cars. A good number of people spend a lot on garage maintenance. Most of us have things at home that get broken from toys to mobile phones, from model trains to TVs lots of people throw them out when they dont work. With some practical work lets learn to fix these things instead of wasting them.
Software engineering is a complex skill requiring a lot from the engineers engaged in it. It isn't the only process which fits this description. To get the best from them you need to understand a lot about your people, how to get the best from them, how to setup the organisation, what does and doesn't work in different cultured. I have worked in many countries from the far east to America, from the frozen north of Finland to the heat of India. The people are as different as the countries and you will need to adjust your style depending on who you are working with, this course contains tips on this. I have managed small projects with just a couple of people to hundreds on multi million pound multi year programs, maintaining motivation over such things depends on many things and I can show you a good number of them. Coping with the demand to know 'when will it be ready' is a skill in its own, how do you estimate, how do you predict, what do you do when someone wants it quicker. There are different techniques for management of projects - 'waterfall', 'v-model', 'spiral', 'agile' to cover a few, what are the differences, what are the advantages and disadvantages of each, how to choose the right one for your project and organisation. Reporting, not just pretty graphs but how to find out the TRUTH so you know what to say and don't look a fool in a months (or even an hours) time.

Ask a question

Send a message explaining your needs and Dave will reply soon:
The more detail, the better.
Ex. "Hi, when are you available to meet for a lesson?"

Availability of a typical week

(GMT -04:00) New York
MonTueWedThuFriSatSun
0
  
  
  
  
  
  
  
1
  
  
  
  
  
  
  
2
  
  
  
  
  
  
  
3
  Monday at 3:00
  Tuesday at 3:00
  Wednesday at 3:00
  Thursday at 3:00
  Friday at 3:00
  Saturday at 3:00
  Sunday at 3:00
4
  Monday at 4:00
  Tuesday at 4:00
  Wednesday at 4:00
  Thursday at 4:00
  Friday at 4:00
  Saturday at 4:00
  Sunday at 4:00
5
  Monday at 5:00
  Tuesday at 5:00
  Wednesday at 5:00
  Thursday at 5:00
  Friday at 5:00
  Saturday at 5:00
  Sunday at 5:00
6
  Monday at 6:00
  Tuesday at 6:00
  Wednesday at 6:00
  Thursday at 6:00
  Friday at 6:00
  Saturday at 6:00
  Sunday at 6:00
7
  Monday at 7:00
  Tuesday at 7:00
  Wednesday at 7:00
  Thursday at 7:00
  Friday at 7:00
  
  
8
  Monday at 8:00
  Tuesday at 8:00
  Wednesday at 8:00
  Thursday at 8:00
  Friday at 8:00
  
  
9
  Monday at 9:00
  Tuesday at 9:00
  Wednesday at 9:00
  Thursday at 9:00
  Friday at 9:00
  
  
10
  Monday at 10:00
  Tuesday at 10:00
  Wednesday at 10:00
  Thursday at 10:00
  Friday at 10:00
  
  
11
  Monday at 11:00
  Tuesday at 11:00
  Wednesday at 11:00
  Thursday at 11:00
  Friday at 11:00
  
  
12
  Monday at 12:00
  Tuesday at 12:00
  Wednesday at 12:00
  Thursday at 12:00
  Friday at 12:00
  
  
13
  Monday at 13:00
  Tuesday at 13:00
  Wednesday at 13:00
  Thursday at 13:00
  Friday at 13:00
  
  
14
  Monday at 14:00
  Tuesday at 14:00
  Wednesday at 14:00
  Thursday at 14:00
  Friday at 14:00
  
  
15
  
  
  
  
  
  
  
16
  
  
  
  
  
  
  
17
  
  
  
  
  
  
  
18
  
  
  
  
  
  
  
19
  
  
  
  
  
  
  
20
  
  
  
  
  
  
  
21
  
  
  
  
  
  
  
22
  
  
  
  
  
  
  
23
  
  
  
  
  
  
  
from 571.13 CNYOnline via webcam

Good-fit Instructor Guarantee


If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.

Online reputation

  • Instructor since January 2025
  • Phone number verified
  • Google connected

Availability of a typical week

(GMT -04:00) New York
MonTueWedThuFriSatSun
0
  
  
  
  
  
  
  
1
  
  
  
  
  
  
  
2
  
  
  
  
  
  
  
3
  Monday at 3:00
  Tuesday at 3:00
  Wednesday at 3:00
  Thursday at 3:00
  Friday at 3:00
  Saturday at 3:00
  Sunday at 3:00
4
  Monday at 4:00
  Tuesday at 4:00
  Wednesday at 4:00
  Thursday at 4:00
  Friday at 4:00
  Saturday at 4:00
  Sunday at 4:00
5
  Monday at 5:00
  Tuesday at 5:00
  Wednesday at 5:00
  Thursday at 5:00
  Friday at 5:00
  Saturday at 5:00
  Sunday at 5:00
6
  Monday at 6:00
  Tuesday at 6:00
  Wednesday at 6:00
  Thursday at 6:00
  Friday at 6:00
  Saturday at 6:00
  Sunday at 6:00
7
  Monday at 7:00
  Tuesday at 7:00
  Wednesday at 7:00
  Thursday at 7:00
  Friday at 7:00
  
  
8
  Monday at 8:00
  Tuesday at 8:00
  Wednesday at 8:00
  Thursday at 8:00
  Friday at 8:00
  
  
9
  Monday at 9:00
  Tuesday at 9:00
  Wednesday at 9:00
  Thursday at 9:00
  Friday at 9:00
  
  
10
  Monday at 10:00
  Tuesday at 10:00
  Wednesday at 10:00
  Thursday at 10:00
  Friday at 10:00
  
  
11
  Monday at 11:00
  Tuesday at 11:00
  Wednesday at 11:00
  Thursday at 11:00
  Friday at 11:00
  
  
12
  Monday at 12:00
  Tuesday at 12:00
  Wednesday at 12:00
  Thursday at 12:00
  Friday at 12:00
  
  
13
  Monday at 13:00
  Tuesday at 13:00
  Wednesday at 13:00
  Thursday at 13:00
  Friday at 13:00
  
  
14
  Monday at 14:00
  Tuesday at 14:00
  Wednesday at 14:00
  Thursday at 14:00
  Friday at 14:00
  
  
15
  
  
  
  
  
  
  
16
  
  
  
  
  
  
  
17
  
  
  
  
  
  
  
18
  
  
  
  
  
  
  
19
  
  
  
  
  
  
  
20
  
  
  
  
  
  
  
21
  
  
  
  
  
  
  
22
  
  
  
  
  
  
  
23
  
  
  
  
  
  
  
from 571.13 CNYOnline via webcam

Good-fit Instructor Guarantee


If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.

Share

You are here


Private lessons in Software Engineering and Computer Programming for all levels
Whether you are a beginner writing your first lines of code or an advanced learner tackling complex concepts, I tailor lessons to suit your needs. Together, we will focus on practical skills, problem-solving, and real-world projects to make programming intuitive and rewarding. Let’s work together to turn your goals into achievements!

Python coding : learning the basics and how to properly document and test your code
A lot of people are taking the shortcut of asking ChatGTP to code for them. Nothing wrong with that although this is typically not industry standard code and you do need to know the basics to be able to catch the small errors. As a lot of my code ended up in production, I would like to explain to you the hard lessons I learnt along the way and help you become a better developer!

Python Made Easy: Programming from Beginner to Advanced
This course is designed for students who want to acquire a solid foundation in computer programming and software engineering using Python, one of the most versatile and widely used programming languages today. You will learn the fundamentals of programming, such as variables, control structures, data structures, functions, and object-oriented programming. You will also explore software engineering best practices, including code organization and debugging.

Android App development using Kotlin, Flutter and Firebase
Android app development is one of the most in-demand skills in today’s tech industry. As a mobile developer, you'll need to understand how to build modern, scalable apps from the ground up — and this class is designed to help you do just that. In this course, you’ll learn how to build Android apps using real-world tools like Kotlin and Flutter. You'll explore UI design, user interaction, Firebase integration for backend services, and app deployment techniques. Whether you're a beginner or looking to strengthen your fundamentals, this class will give you hands-on experience in creating powerful mobile applications. By the end of this course, you'll be able to confidently build and publish Android apps, use Firebase for authentication and database storage, and apply best practices to write clean, efficient code.

Mastering C Language: Build Strong Programming Foundations
In this hands-on, beginner-friendly course, you'll learn the C programming language from scratch, gaining practical coding skills and understanding key concepts such as variables, loops, functions, arrays, pointers, and memory management. Whether you're a student, aspiring developer, or tech enthusiast, this course is designed to help you build a strong programming mindset and prepare you for more advanced topics or careers in software development, systems programming, or embedded systems. What you’ll learn: Writing your first C program Understanding data types, control structures, and functions Working with arrays, strings, and pointers Managing memory and file input/output Debugging and compiling C code With clear explanations, live examples, and interactive practice, you’ll walk away confident in your ability to write real C programs and understand how computers really work under the hood. No prior programming experience required. Just bring your curiosity and a willingness to learn!

Python Tutor - Machine Learning - AI - A Professional Python developer is happy to teach you Python code/projects (software development).
I can help you with your python project works. With live coding sessions, tips, and tricks you will have a chance to improve your knowledge or complete your coding project/assignments with great insight into the code. I am working with the following libraries in my everyday work AI developer: Numpy Pandas Scipy Scikit-learn Tensorflow / Keras Pytorch OpenCV Tesseract Pillow Tkinter Flask selenium Matplotlib and many more...

Docker for developers from beginner to guru. A must have skill that any developer should master!
Docker is an essential tool for any developer nowadays. It allows flexibility and speeds up development. Whether you would like to start learning containerization or you would like to take your knowledge to the next level, I can help you. Docker is a great tool to not only deliver software but also to play around with different technologies and test multiple releases without burdening your local environment.

Java Development and Software Architecture: From Beginner to Professional
Throughout my career, I have taken on various roles that highlight my dedication to education and mentorship. In the companies where I worked, I was responsible for onboarding new joiners and served as a team buddy for newcomers. This role involved providing guidance, support, and a smooth transition into the team environment. I have also been instrumental in educating junior and mid-level developers, introducing new concepts, and teaching them how to effectively apply these ideas in their work. My approach ensures that team members are well-equipped with the latest knowledge and best practices in the industry. My comprehensive experience in tutoring and teaching reflects my commitment to fostering a collaborative and growth-oriented learning environment. Whether in a formal setting or through informal sessions, I am dedicated to empowering others to achieve their full potential.

Java + Software Engineer + Spring + Web development
I specialize in teaching Java, Spring and software engineering for all levels. My goal is to keep students ready for the real world and at the same time make learning fun. IT is a great field to learn and explore yourself. This is an era of digitization and one should be ready to implement and innovate !!

Introduction to Python Programming (algorithms, structures, abstractions)
<Course Description> This course is designed for beginners who are interested in learning programming with Python. It covers the basic concepts of programming such as data types, variables, control structures, functions, and file I/O. Participants will learn how to write Python programs, debug code, and design algorithms using Python. The course also introduces the basics of object-oriented programming and the Python libraries used for data manipulation and visualization. <Prerequisites> No prior programming experience is required. However, familiarity with basic computer concepts such as files, folders, and operating systems is recommended. <Learning Objectives> By the end of the course, participants will be able to: * Understand the fundamentals of programming and how it applies to Python * Write Python code for simple applications and automate repetitive tasks * Use control structures such as loops and conditional statements * Create functions to encapsulate code and enable code reuse * Work with Python libraries such as NumPy, Pandas, and Matplotlib * Use object-oriented programming principles to design more complex programs * Debug code and use error-handling techniques <Course Outline> The course is divided into modules that build on each other to provide a comprehensive introduction to Python programming. Each module consists of lectures, demonstrations, hands-on exercises, and quizzes to reinforce learning. Here is an outline of the course: Module 1: Introduction to Python History and Overview of Python Setting up Python environment Writing and running basic Python programs Variables, data types, and operators Module 2: Control Structures Conditional statements and Boolean logic Loops and iteration User input and output Module 3: Functions Writing and calling functions Scope and namespaces Return values and parameters Lambda functions Module 4: File Input and Output Reading and writing files File modes and buffering Handling exceptions and errors Module 5: Object-Oriented Programming Classes and objects Inheritance and polymorphism Data encapsulation and abstraction Special methods and decorators Module 6: Python Libraries Introduction to NumPy, Pandas, and Matplotlib Data manipulation and analysis with Pandas Data visualization with Matplotlib Conclusion This beginner's programming class in Python provides a solid foundation for anyone interested in learning programming and using Python for data analysis, automation, or software development. With hands-on exercises, interactive quizzes, and a comprehensive final project, participants will learn how to write Python code that is efficient, maintainable, and elegant.

Explaining the basics of programming and artificial intelligence for children using Scratch and Python
Explaining the basics of programming and artificial intelligence for children using Scratch and Python To teach kids the basics of programming and artificial intelligence using Scratch and Python, start with simple concepts with fun applications: Scratch: Introduce kids to visual programming using colorful blocks. Start with projects like creating an interactive story or a simple game. Teach them concepts like loops, variables, and conditions using animations. Python: Python is introduced as an introduction to scripting. Use easy libraries like turtle to draw or random to create random games. Introduce them to AI with a library like Teachable Machine to easily classify images or sounds. Practical example: Create a simple game in Scratch, then use Python to develop a similar game to illustrate the difference between visual and textual programming.

Software Engineering : Python : Java : From Senior Developer
I am a lecturer and a senior software engineer. I got my degree in Engineering with Mathematics and completed the masters with Computer Science heavily covered with mathematics. I have more than 7 years of teaching experience. I will work with the student and get to know about his/her level. Then I will improve it from there. I will teach so that the learning will be an interesting experience for the child.

Learn Object Oriented Programming with Python with a Live Project!
Are you ready to take your Python skills to the next level and unlock the power of Object-Oriented Programming (OOP)? Welcome to our comprehensive course designed to transform you into a Python OOP expert! Object-Oriented Programming is a fundamental paradigm in modern software development, and Python's versatility makes it an ideal language for mastering OOP concepts. In this dynamic course, we'll guide you through every aspect of OOP in Python, from the basics to advanced techniques, empowering you to build robust, scalable, and maintainable software solutions. What will you learn? Foundations of OOP : Understand the core principles of OOP, including encapsulation, inheritance, and polymorphism, and how they are implemented in Python. Class Creation and Management: Dive deep into creating classes, defining attributes, and designing methods to encapsulate functionality within your Python applications. Inheritance and Polymorphism: Explore the power of inheritance to create hierarchical relationships between classes and leverage polymorphism to write more flexible and reusable code. Advanced OOP Techniques: Learn about abstract classes, interfaces, and composition to design elegant and modular software architectures. Design Patterns: Discover common design patterns and how to implement them in Python to solve complex software design problems effectively. Testing and Debugging: Master techniques for testing and debugging object-oriented Python code to ensure its correctness and robustness. Real-World Applications: Apply your newfound knowledge to real-world projects, including building GUI applications, web development, and more. Why choose this course? Comprehensive Curriculum: Our course covers everything you need to know about OOP in Python, from the basics to advanced topics, ensuring you have a solid understanding of the subject. Hands-On Learning: Gain practical experience through hands-on coding exercises and projects that reinforce your understanding of OOP concepts. Expert Guidance: Learn from experienced Python developers who will provide clear explanations, practical examples, and personalized feedback to help you succeed. Career Advancement: Mastering OOP with Python opens doors to a wide range of career opportunities in software development, data science, machine learning, and more. Lifetime Access: Enjoy lifetime access to course materials, including updates and new content, ensuring you stay current with the latest advancements in Python and OOP. Whether you're a Python novice looking to expand your programming skills or an experienced developer aiming to level up your OOP expertise, this course is your ultimate guide to mastering Object-Oriented Programming with Python. Enroll now and embark on a journey to becoming a proficient Python OOP developer!

Lessons in the programming language (Python & C++) for university students and those interested in programming
Would you like to hone your programming skills under the guidance of a computer science lecturer? I offer C++ and Python tutoring for students of all levels! I will help you achieve your goals whether you are a complete beginner or an experienced programmer looking to develop your skills further. What I offer: Computer Science-Based Teaching Curriculum: Leverage my in-depth knowledge of computer science principles to build a strong foundation in programming in C++ and Python. Practical experience and academic skills: I combine my practical experience with my theoretical knowledge to offer you a comprehensive and effective education. Broad topic coverage: We can explore all aspects of C++ and Python, from basic concepts to topics Advanced depending on your interests (such as memory management in C++ or machine learning libraries in Python). An interactive, application-based approach: You will solve practical exercises and projects to practically apply what you learn and enhance your skills. Continuous support and guidance: Your learning journey will not stop at the class limits. I will always be available to answer your questions and provide the necessary support. Why choose me: Graduate specializing in Computer Science: Benefit from my deep knowledge in the field of programming and computer science in general. A passionate and experienced teacher: I have extensive experience in explaining complex concepts in a clear and simple way. Commitment to developing your skills: I believe in the importance of effective education and strive to help you reach your full potential as a programmer. A passionate supporter of your success: I will always be by your side to motivate and encourage you to achieve your programming goals. Are you ready to take your programming skills to the next level? Contact me today!

Computer science and programming classes – Python, web development, mobile development and SQL
I offer private computer and programming classes from basic to intermediate-high level, including the possibility of learning programming from scratch, without the need for previous knowledge. My specialties include: ✔ Python – From fundamentals to advanced development and automation. ✔ Web development – HTML, CSS, JavaScript, modern frameworks. ✔ Mobile programming – Android and iOS applications. ✔ Databases and SQL – Design, optimization and advanced queries. ✔ Good practices and methodologies – Agile development, design patterns and software architecture. I am a professional with more than 8 years of experience in software development, having worked both in Spain and abroad, including experience at CERN. I have a Higher Degree in Multiplatform Application Development, a degree in Software Engineering and a Master's Degree in Big Data. Classes can be taught in Spanish or English and can be held online, at my home, or I can travel to the student's location and preference. My approach is practical, combining theory with real exercises to ensure a better understanding and application of knowledge.