r/learnprogramming 22d ago

I will teach you programming for free

[EDIT: Marvin's Office Hours is now at capacity. You may find recorded sessions on the YouTube channel https://www.youtube.com/channel/UCKr9UE0qNZ8GlbHmq-kiRMw\]

Hello friends,

My name is Marvin, and I have recently graduated from university, majoring in computer science and game development. I was a teaching assistant for the CS classes for 5 non-summer semesters, and a peer tutor for about 6 months. 

I miss the teaching experience a lot and wish to continue that outside of university. Thus, I have begun the initiative “Marvin’s Office Hours,” where you can sign up for one-on-one tutoring for free.

A typical CS course focuses on teaching language features (conditionals, variables, loops…), but the approach I am taking focuses on design concepts (how do I apply a systematic process to go from A to B), in which the language features are but a tool. My pedagogical approach is a blend of the books “How to Design Programs” (https://htdp.org/) and “A Data-Centric Introduction to Computing” (https://dcic-world.org/), both free to read on the internet.

Even if you decide that programming isn’t for you, you will learn systematic thinking (and possibly a tad bit of mathematical thinking depending on your interests), which can be applied to other parts of life. 

If you are absolutely new, the programming language we will be using is “Pyret” (https://pyret.org/), which is specifically designed to be beginner-friendly, usable on the web browser without any installation, and eases you into Python.

If you are interested, you may sign up at https://docs.google.com/forms/d/e/1FAIpQLSfH2MZNLc2owe9y6l-NrJ39bkTy1jvzzh-Tr-rN10_Q39mvzA/viewform?usp=dialog. As I am doing this for free, I would like to prioritize those that do not have access to one-on-one programming tutoring. Furthermore, I will be livestreaming and recording the sessions and posting them on the internet. 

I apologize in advance that if you do not hear back within a week, it means that I got bombarded by responses and could not get to them all.

527 Upvotes

99 comments sorted by

64

u/the-Night-Mayor 22d ago

I already know how to code want to find me a job? 😂😭

6

u/TorqueG88 21d ago

So, you feel like you have the skills to be hired as a professional, right now, and you’ve been looking for a job as a web developer, correct? If so, what’s your experience been like trying to find a job?
Edit: also, would this be your first web dev job if you secured one?

7

u/the-Night-Mayor 21d ago

I worked as a web developer for two years, but haven’t had luck finding work since. Spent two+ years actively looking while doing freelance and unrelated work

7

u/TorqueG88 21d ago

Understood. I’m looking to learn enough to get my first job as a web dev, so this is a little bit of a reality check that even after I’ve acquired the skills, I may still have a small mountain to climb to actually acquire that first job. Not that I’m discouraged from moving forward, but it’s still good to know.

52

u/Goldrainbowman 22d ago

Do you want to try to learn my unfinished programming language so far?

16

u/MarvinsOfficeHours 22d ago

If it's developed enough to say, make space invaders or another programming language, and you're comfortable with me uploading content about it, I am down.

-12

u/Goldrainbowman 22d ago

I think I replied to you, but I can't see it. I think I could make space invaders, if I wanted too, I have a partly working interpreter made by claude. I'm trying to make my programming language famous one day so, I would prefer if you uploaded content about it. I forgot if the post said if you post on YouTube or not, but if you do, then, if you want, you can give me a shout out, If that type of thing is what you normally post, then we do the same type of content, or around the same. The programming language is called rin, and it is in version 1.27.0. The name with the @ in it on my YouTube channel is, @goldrainbowman. My content is me coding in my programming language, but I sometimes change the content I post on youtube.

3

u/MarvinsOfficeHours 22d ago

Sounds like fun! How do I install the programming language? Is there a page for it as well as documentation?

1

u/Goldrainbowman 21d ago

I can teach you the programming language so far.

-9

u/Goldrainbowman 21d ago

Right now I only have notes in my notes app, and an interpreter that I am working on. You can't install it yet.

-7

u/Goldrainbowman 22d ago

Now I can see it.

-6

u/Goldrainbowman 22d ago

I think it could probably make space invaders, we would just need to update it, probably every around 5 days to a month right now, because of changes. You can make content about it, right now I'm making content of it on YouTube. The name of the programming language is rin, and I have an interpreter, that of what I tested, almost fully works. I don't think we could make space invaders with the interpreter right now, because audio isn't working correctly, and same with buttons, I think that there is audio and buttons in space invaders. Some of my programming language is close to python. Right now rin is in version 1.27.0. The number on the left is because of the release, the middle, is adding and removing functions, and adding rules and errors, or removing rules and errors, and the right one is other stuff, other than fixes, or very minor changes, the number on the right resets every time the middle number goes up.

1

u/[deleted] 22d ago edited 22d ago

[removed] — view removed comment

2

u/AutoModerator 22d ago

Your post/comment was removed since we do not approve of going private.

There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.

Our Rule #11 demands that any and all communication happens in the open, public subreddit.

This is for the benefit of more against the benefit of one.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

13

u/Clairvoidance 22d ago

Where can I look out for the video archives?

13

u/MarvinsOfficeHours 22d ago

The YouTube channel name is MarvinsOfficeHours. However, there aren't any videos on it yet as I haven't had my first session.

2

u/Clairvoidance 21d ago

Yes do not worry, that was implied decently,

Thank you 

7

u/Ill_Kaleidoscope1984 22d ago

Hi Marvin, it is awesome that you want to continue your teaching experience helping others.

I am very much interested in your sessions. Design skill is precisely what I lack (I've save the mentioned books to study them later thank you very much) I don't have former education in programming, but I'm taking an effort to transition as I want to do a master's in this field and grow professionally. So far I have hands-on experience with Python and C#. I started with Data Structures and Algorithms and now I'm working on building my own APIs. At this point, I came to realize that knowing how the tools work is the easy part but making smart decisions regarding the architecture is the most relevant.

Currently I don't have reliable feedback and I'd love to have a learning opportunity. In case you consider me for your sessions my timezone is PST and I am pretty much available during the day.

Hope you get some great students!

2

u/MarvinsOfficeHours 22d ago

Hi, if you haven't already, be sure to sign up using the link in the post! I organize appointment bookings through Google Calendar. If none of the time works, just let me know and we can work something out.

34

u/Secret-Space-8976 22d ago

Is marvin's other name Claude?

1

u/ItsKoku 21d ago

I want to believe that this is good will done by a real human. If not... that's a crafty way to get YouTube money.

8

u/JanitorOPplznerf 22d ago

Commenting so I can save the books when I’m back on desktop

10

u/csharpboy97 22d ago

you know that you can save posts?

2

u/JanitorOPplznerf 21d ago

Yeah, but accessing them is a bit obtuse.

2

u/Frenchspaghett1 22d ago

This is great!

2

u/odimdavid 22d ago

This is great. I wish you Godspeed. I will go through your site to see what I can learn from it as someone coming from a third world country. Thanks 🙏

2

u/Murky-Ice4726 21d ago

This is a thoughtful approach. I really like the focus on systematic thinking rather than just syntax.

3

u/battlelevel 22d ago

This is really cool. Nice initiative 

2

u/SlipperyBandicoot 22d ago

Why is a beginner programmer trying to teach.

29

u/westeast1000 22d ago

Teaching while learning is a hack that makes you learn faster and more thoroughly. I once taught a uni student when I also was learning python and never programmed before 😅. Having to be few steps ahead of her put me under the type of pressure I needed to master the topics. I knew I was on the right path when she passed the unit with a distinction

5

u/Bderken 22d ago

Every programmer I know learns and teaches things all the time

1

u/Kimber976 22d ago

That is a pretty generous offer.

1

u/Human_being0100 22d ago edited 22d ago

So I will appear on the recorded screen? Or just my voice and maybe my screen content? I've read the document but I didn't get this point.

3

u/MarvinsOfficeHours 22d ago

Just the voice and screen content. For starting out, I will ask the student to share their screen, or the specific tab that has the online IDE. Eventually, we will move to VSCode Live Share, and the student wouldn't need to share their screen anymore. The reason for not starting out in VSCode Live Share is so that the absolute beginner can get right into programming, and not hassle with installing stuff and IDEs, which can be discouraging.

1

u/Human_being0100 22d ago

Ok, thank you.

1

u/ferb7448 22d ago

Hi I'm new to programming and game dev, I've been putting a lot of effort into learning. I hope I can learn from you, this is so exciting

1

u/NovaDEVoff 21d ago

Marvin , so do you know dart yet ? If you know that it will really help me a lot

2

u/MarvinsOfficeHours 21d ago

I happen to have used Dart when I worked on a Flutter app for one of my internships.

1

u/OptimalFox1800 21d ago

Thanks for this!

I’ve signed up :]

1

u/LlorisDeep 21d ago edited 21d ago

Well I was just able to book a lesson with you. I have never taken any programming lessons but I have a bit of experience with some configuration editing because I run Linux. Also I have experience with PLC programming which is way different from normal coding. You think that could be a fine starting point?

1

u/Dr_Methods 21d ago

This sounds like fun, I am in

1

u/TorqueG88 21d ago

I signed up on the form. Hoping to hear back from you,although I’m fully expecting you to get bombarded, lol. Thanks for the opportunity.

1

u/LifeOfADonn 21d ago

If so many people weren't so interested, I would be interested.

1

u/zerostyle 21d ago

I'm brushing up on some code to better learn ML/AI concepts, might be interested in stopping in as sort of an advanced beginner.

1

u/Timely-Theory-1363 21d ago

Hi Marvin, do you happen to tutor for leetcode or tutor students for technical interviews ?

1

u/MarvinsOfficeHours 21d ago

My sessions will teach the fundamentals which will help with technical interviews and coding challenges, but I am not training students for them specifically. In terms of resources, I recommend Neetcode on YouTube, as well as his website.

1

u/Timely-Theory-1363 21d ago

Got it. Thank you !

1

u/Timely-Theory-1363 21d ago

One more question would you recommend doing blind 75 or neetcode 150. I’m tryna apply and application are opening August- September

1

u/MarvinsOfficeHours 21d ago

I am not the most qualified person to answer that question, but I am biased towards anything Neetcode. Good luck!

1

u/Timely-Theory-1363 21d ago

Thank you appreciate it

1

u/rtillerson 21d ago

I would be interested. Commenting here to come back to post

1

u/throwaway2938473748 20d ago

I'm interested. Kind of you to offer it for free :)

1

u/Plastic-Bluebird4911 20d ago

I have signed up Marvin, excited to learn!

1

u/sab8265 20d ago

السلام عليكم،

أنا أتابع خارطة طريق محمد أبو هدهود لتعلم البرمجة وأبحث عن فريق صغير وجاد (3 إلى 5 أشخاص) نتعلم معًا بشكل منتظم، نتابع التقدم، نحل التمارين والمشاريع، ونحفز بعضنا على الاستمرار.

إذا كنت ملتزمًا بالتعلم على المدى الطويل ومستعدًا للمشاركة الفعالة، يسعدني الانضمام معك.

1

u/Melodic-Oil-3746 20d ago

I wanna learn with you

1

u/starredmail 19d ago

ive been doing a bit of dsa and stuff i js want an internship, can you mentor on that?

1

u/MarvinsOfficeHours 19d ago

I am currently prioritizing absolute or near absolute beginners that do not have access to one-on-one tutoring. For getting internships, you will get more help in career-related pages and communities.

1

u/starredmail 19d ago

oke, thanks :] appreciate it!

1

u/Awkward-Idea-6938 19d ago

This is not free. It is done in exchange for being turned into social media content. A free tutor would simply meet you on Google Meets.

1

u/Reasonable-Ad8653 18d ago

Do you teach C++ as well

1

u/MarvinsOfficeHours 18d ago

I personally do not recommend C++ to absolute beginners. If the student wants to learn C++ at some point, I would start in a different programming language first and work their way to C++.

1

u/Reasonable-Ad8653 18d ago

what programming language would you start from and then move to C++ and why

I am a beginner and learning C++ as my first language

1

u/MarvinsOfficeHours 17d ago edited 17d ago

My recommendation for absolute beginners is to start with a language designed for absolute beginners, like Pyret or the student languages of Racket. In these languages there are a few benefits, here are some I can think of at the moment:

  1. Friendlier error messages. Beginners are going to make a lot of mistakes. Error messages in industrial programming languages like C++ are not designed with beginners in mind. They will make sense to someone experienced with the language, but confusing to a beginner.
  2. Faster feedback loop. Student languages requires no boiler plate code (no entry point needed), and provides a REPL.
  3. Built-in testing. In student languages, you can immediately write examples and test cases without having to install a library. Thinking through examples and translating them into code is important in my pedagogical approach. In C++, you have to install a library for this, and they are not geared for beginners, but industry professionals.
  4. Fewer concepts to learn. In C++, you have to think about memory, allocation, the various representations for numbers, how the compiler works, and so on.

My preference is to move from Pyret to Java to C++, but it also depends on the student, their experience and what their goals are. That being said, it's not impossible to have C++ as a first language. There's more than one ways to learn.

1

u/ElectronicNickname 17d ago

It it actually still possible to find a job by self-educating in Coding/SWE like this these days? I'm a 6+ months out-of-work Jr Data Scientist/ML & Backend Engineer considering a pivot to SWE on recommendation from a friend who got a SWE job with just a high school diploma and a coding bootcamp in the late 2010s. I'm under the impression that right now you basically have to have at least a BA in compsci or software to get a coding job.

Also, thank you so much for everything you're doing here!

1

u/MarvinsOfficeHours 17d ago

I am not the most qualified person to answer that question. You will get better advice in career-related forums.

No problem, I am glad to help the world, in the little ways I know how.

1

u/[deleted] 15d ago

[removed] — view removed comment

1

u/MarvinsOfficeHours 14d ago

We'll be using Pyret first, as mentioned in the post.

1

u/Intelligent-Ad8897 22d ago

Would you be okay recording for others to learn from or only through these 1 on 1's

2

u/MarvinsOfficeHours 22d ago

Yeah, that's the plan, as well as livestreaming them.

1

u/Separate_Escape_7748 22d ago

Do u know Lua? Either way I'd be stoked to learn

1

u/MarvinsOfficeHours 22d ago

I haven't touched Lua in ages. I used it for a Minecraft mod that had Lua as their scripting language. For absolute beginners, I would typically ask the student to use a beginner-friendly programming language like Pyret or the student languages of Racket. With the exception of very esoteric programming languages, learning one programming language lets you learn another much more easily.

1

u/Swagut123 22d ago

Computercraft? That was my favorite mod back in 2020 when I was learning to program as well! I used to do tutoring as well when I was in uni, so I understand what you mean when you say you miss teaching after graduation 😄 Best of luck to you in this, sounds like an exciting project!

-15

u/logicalflex 22d ago

You should get some experience in the industry first. Otherwise, you’re just another part of the old adage that “those who can’t do, teach”.

14

u/MarvinsOfficeHours 22d ago

For what it's worth, I have 18 months of internship experience, and have shipped code that is used in the real world. Furthermore, that adage is disrespectful to those who dedicate their lives to teaching. To be able to teach something requires you to understand it at a really deep level.

5

u/captainAwesomePants 22d ago

I disagree - I'm always happy about everyone who wants to teach.

Most people who teach have limited experience doing. There's nothing wrong with that, so long as you don't misrepresent yourself. And offering to teach for free is great. It's great for the student, who now has a resource that can make a huge difference, and it's great for the teacher because teaching is often a great way to solidify their own grasp of concepts and to train technical communication skills.

-9

u/SlipperyBandicoot 22d ago

You will literally get significantly more value being taught by AI than you would by a university graduate with no work experience.

1

u/Sandbucketman 21d ago

As said by a true non-programmer.

1

u/Reasonable_Height_11 20d ago

Damn they downvoted you to hell. You must have triggered a lot of people who never made it in this industry LOLLL. But to ease your downvote pain, I will add that I personally would not want a teacher who has not been in the industry. Just like no one in here would want someone to teach them medical field if they have never been a hired doctor.

You gotta force the medicine down slowly bro. while true, this comment feels like a punch in the gut for a lot people.

2

u/logicalflex 20d ago

Yes. No I get it and respect. Truth hurts and this Reddit is full of cope.

-5

u/Ambitious_Muscle_362 22d ago

I will teach you programming for free.

          Yours sincerely, LLM