Learning Machines
Discover what's possible!

Learn More
Is your child interested in learning computer programming? Do they love to tinker with DIY electronics and dream of building mobile apps? Are they curious about 3D printing or wondering what computer vision and machine learning are all about?
Then look no further! Learning Machines offers courses that are tailored to your child’s specific interests in computer science-based topics. Our curriculum utilizes imaginative, hands-on projects and makes learning an enjoyable experience. We believe this approach promotes a genuine curiosity in the topics covered and encourages our students to venture out to learn even more on their own.
Learn more about our programs here.

Programming With Python
In this highly interactive course, students will get the chance to review the basics of programming in Python, as well as learn and apply more advanced concepts using Raspberry Pi, in an engaging, hands-on environment.
Topics covered include: computer architecture, working with IDEs, an overview of Operating Systems (i.e., Raspbian/Linux), a variety of programming constructs, the integration of software with hardware (i.e., displays, a variety of sensors, LEDs, switches, buzzers and speaker), event-driven programming, GUIs (Graphical User Interface), game design (via the Pygame library), utilizing web APIs, implementing bots, and the basics of IoT (Internet of Things). In the process of learning these topics, students explore a variety of tools and technologies that prepare them to tackle more advanced topics independently.
Students will be strongly encouraged to work on a personal project of their choice, research and utilize open-source libraries as needed, and learn how to install and implement a personal assistant software with custom responses.
Mobile App Development
This is an introductory course that covers the basics of mobile app development. It is designed for students with little to no programming experience.
Students will understand basic app development concepts by using various components in the Thunkable platform, learn how to design user interfaces, implement logic using block-coding, integrate either third-party services built into the platform or invoke independent web APIs via JSON objects, implement online authentication and a real-time database, and utilize open-source web services to control common electronic devices.
Students are expected to design and develop a minimum of 20 fully functional mobile applications (on iOS or Android) and complete one personal project of their choice. Examples of apps developed by students include speech and image recognizers, barcode scanners, a recipe finder, trivia challenges, apps that display superhero characters and comics, multi-player bingo, as well as a Wi-Fi-enabled remote app for controlling household lamps, fans, or sprinklers.


3D Printing
This is an introductory course covering the basics of 3D modeling and printing.
In this course, students learn about 3D printing concepts and technologies with a focus on FDM (Fused Deposition Modeling), designing with 3D modeling software, creating SVG (Scalable Vector Graphics) shapes (i.e. logos, symbols, icons, or illustrations), 3D file formats, using slicing software, fine-tuning printer configurations, and understanding the nuances of printing complex shapes.
Students will use Tinkercad as their primary tool to explore the basics of 3D modeling. Upon completing all required assignments, students can then move on to learning advanced tools, such as Fusion 360 for more sophisticated modeling as well as Meshmixer and MeshLab for editing and manipulating 3D files.
This course also includes an introduction to advanced concepts around photogrammetry and 3D scanning. Students will learn these topics first-hand by completing a personal project of their choice.
To get started, students can print their own objects and experiment with the 3D printer available in the classroom but are encouraged to eventually buy and assemble their own printer at home to practice and perfect their 3D printing skills.
Computer Vision Using Python
This advanced-level class covers the basics of computer vision in Python using the popular OpenCV library. Enrolling in this course requires prior experience with Python programming.
Topics include image manipulation, edge detection, object detection and identification, and text recognition with OCR (Optical Character Recognition). Each topic is covered through an interactive project that involves using new or existing images and a connected camera. The theory behind each feature or function is explained through an in-class example, followed by activities that encourage students to implement additional applications on their own. Some examples of projects include: counting the number of birds or unique shapes in a given image, estimating the size of a given object, blending two images into one, converting an image into an digital pencil sketch, identifying a cat in a picture containing several animals, adjusting the color shades of a person’s outfit, identifying text within a billboard image, and counting the number of times a person smiles or blinks in front of a connected camera in real time.
Students have found these projects to be very interesting and typically come up with their own ideas to further explore these topics.


Programming with C/ C++
This is an intermediate-level programming course mainly taught in C, with a brief introduction to C++.
Students will learn the basic concepts of programming in C in a hands-on, interactive, and fun learning environment with an Arduino. Topics covered include computer architecture, working with IDEs, programming constructs, as well as integrating software with hardware (such as sensors, switches, LEDs, displays, microphones, speakers, etc.) and using IR Remote, Bluetooth & Wi-Fi APIs in the code. This course will also include an introduction
to more advanced concepts such as building bots and IoT.
Students will be strongly encouraged to work on a personal project of their choice, research and utilize open-source libraries as needed, and develop their own custom C++ library.
About
Learning Machines is your neighborhood small business that runs computer science-related programs for middle school and high school students. We are located in the Ardenwood neighborhood in Fremont and have been operating both online and in-person classes for the past year. In-person classes are conducted in groups of 2-4 students in a friendly and comfortable setting. Laptops with the required software will be provided in class. Online classes are available upon request as either private (one-on-one) or semi-private classes.
Our Vision
We strive to show students what’s possible with technology through innovative ideas and projects that will spark their passion for exploring and learning more. We encourage students to imagine, experiment, and develop their own ideas. Our goal is to help students “learn how to learn” and enable them to pick up more advanced topics on their own.
We understand each student’s learning style is different and aim to provide the most effective path for every individual. The concepts covered in our courses are reinforced through a series of assignments and projects, and progress is tracked until completion via a Learning Management System.
Testimonials
Mr. Kulkarni creates enormous interest…
I wish we had these interesting technologies when I was growing up and more importantly, I wish we had a teacher like Mr. Kulkarni. I am honest and I mean it! He has a totally different perspective and approach to teaching. He creates enormous interest in kids by helping them understand the concepts and practical, day-to-day application of the technology he teaches. He is very passionate about it. My 11-year-old son is taking the 3D printing class and is so motivated that, unlike other classes “we don’t have to remind him” when the class is.
Ravi B.
My daughter has made tremendous progress
My daughter is interested in arts and design and hence she joined the 3D Printing course. Mr. Kulkarni is very passionate about teaching kids these new technologies and is very patient and engages the kids very well. My daughter has made tremendous progress since she started and has made several unique designs with the help and guidance of Mr. Kulkarni. Seeing your design come to reality is the best and a rewarding experience.
Satish D.
“My son is always excited about going to the coding class.”
“My son is really enjoying the class now although he was skeptical before joining, and the reason is Srini. He works very closely with students, helps with concepts and makes sure it is not boring. My son is always excited about going to this class and never gives excuses for missing. He learned how to program, incorporate web APIs, JSON in his code and overall, has improved a lot. He would love to continue with Srini and will learn Python and C/C++ as well as his schedule permits.”
Vinay B
“Mr. Kulkarni is a committed teacher.”
“I started this class in late 2020 when I was a relatively new coder. Even over Zoom, I immediately saw how fun and engaging the course was. I noticed that Mr.Kulkarni is a committed teacher who teaches kids code as a passion rather than a job. Lastly, his lessons are very interactive because you apply critical thinking and take the teacher’s minimal (but valuable) help.”
Shaunak B
Class Schedule & Pricing
Weekends: 10:00am – 5:00pm
Weekdays: 6:30pm – 8:00pm
Each Class is 90 minutes approx.
Fees: $225/month payable to “Learning Machines”

Signing Up
You can get in touch with us by clicking the button below or simply send an email to office@learningmcs.com to enquire more about the courses. You can also call us at (510)-513-1270. If you are interested we can arrange a in-person discussion at the location about the student’s interests and learning path.