
Ask HN: I am looking for a C and Assembly mentor - kennyg25
I am a college student trying to learn low-level CS concepts, such as bit manipulation, memory and runtime performance, code compilation techniques, etc. for a CS course I will be taking in the fall. I already plan on attending office hours and taking advantage of online resources such as Stack Overflow. However, I learn best via 1:1 tutoring so I am trying to find someone I can meet, either online or preferably, in person who I can work with. However, I am having some difficulty finding someone who is 1) extremely knowledgeable in this area of CS and 2) would take the time to meet up with me. I find this website invaluable and was hoping that perhaps someone reading this would be interested in my offer, or at least would know someone who might be interested. However, beyond HN, what would be the most efficient way to go about searching for this type of tutor? What other resources am I not considering? How else can I go about learning about low-level machine code?<p>Some more information: I live near Mountain View and am free in the afternoons to meet-up, and I will also pay a generous amount as well for anyone who is an expert in these areas. For those interested, please feel free to message me - my email is provided in my profile.
======
miles
> _what would be the most efficient way to go about searching for this type of
> tutor?_

Read Ravi's words of wisdom: [http://pindancing.blogspot.com/2010/12/answer-
to-will-you-me...](http://pindancing.blogspot.com/2010/12/answer-to-will-you-
mentor-me-is.html)

and the related HN threads:

[https://news.ycombinator.com/item?id=20715136](https://news.ycombinator.com/item?id=20715136)

[https://news.ycombinator.com/item?id=1994998](https://news.ycombinator.com/item?id=1994998)

------
kazinator
> _as bit manipulation, memory and runtime performance, code compilation
> techniques, etc. for a CS course._

That sounds too all-over-the-place to guess what the course is about. You
should find out more or less exactly what is the content for this course and
get tutoring for that, if necessary.

Some points:

* what textbook does it use, if any?

* any chance of obtaining past assignments? exams?

* any online materials from past lectures or handouts whatever?

* do you know anyone who took this course? Or someone who knows someone?

------
rramadass
Just get this book and study it thoroughly (if needed, teaming up with
somebody). It has got everything you need.

 _Computer Systems: A Programmer 's Perspective_ \-
[http://csapp.cs.cmu.edu/3e/home.html](http://csapp.cs.cmu.edu/3e/home.html)

------
notus
Maybe check discord communities or IRC? I've found people to be willing to
loosely mentor machine learning topics on discord, but it's more along the
lines of "read these papers and I will discuss them with you", so there is a
certain level of knowledge already expected.

That being said, mentoring is a really big effort to do it well. Most people
don't even want to do it when they are getting paid to do it. The way I tend
to approach learning something new like this would be to make actual attempts
at writing low level code and then share it with a knowledgeable person for
feedback. Programmers are much better at giving feedback on code than
mentoring people.

------
sys_64738
I learned C by reading K&R.

~~~
scandox
Well not everybody can do this kind of top down learning. But more power to
you, though, because that's a great capability.

~~~
notus
I would argue that most people can't, which kind of irks me that
recommendations like this have been the status quo for quite some time. I
think programmers in general over romanticize this way of learning.

~~~
serf
_> I would argue that most people can't, which kind of irks me that
recommendations like this have been the status quo for quite some time._

It's not a static property we each have -- one can learn to learn differently.
I would argue that sort of information gathering is vital to documentation-
heavy professions, programming included.

In other words : (imo) if you can't learn that way, you're doing a tremendous
disservice to yourself by not looking for methods by which to learn how to
learn that way.

------
gaogao
I second the recommendation on hiring a tutor to help you through the first
few weeks of either self-guided 6.004 or whatever the Stanford equivalent is.

Other great avenues for getting better at assembly are writing simple
compilers and my favorite, playing Zachtronics games, such as TIS-100.

~~~
gaogao
You should also look into taking advantage of any CS tutoring resources that
your school has. It's likely much more cost-effective than trying to grab
random people off of an internet board.

------
dmarcos
I recommend [https://handmadehero.org/](https://handmadehero.org/) and
associated community [https://handmade.network/](https://handmade.network/)

~~~
0lpbm
Despite not using the full features of the standard, Handmade Hero is written
in C++ not C. And you know what those people think when you conflate the two.

------
sansnomme
Try this guy:

[https://nullprogram.com/](https://nullprogram.com/)

He has been known to take on students.

------
esmi
If you’re in Mountain View and willing to pay just hire a CS tutor from
Stanford. Problem solved...

------
physicsAI
I cannot seem to find your email address in your profile.

Drop me a line - my email is in my profile.

