Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I am looking for a C and Assembly mentor
34 points by kennyg25 on Aug 26, 2019 | hide | past | favorite | 16 comments
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?

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.




> 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...

and the related HN threads:

https://news.ycombinator.com/item?id=20715136

https://news.ycombinator.com/item?id=1994998


> 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?


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


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.


I learned C by reading K&R.


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


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.


>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.


The best way I've learned C is to write tiny command-line programs for every possible task.

Need to get the current path? Forget `pwd` or `cwd`, I'll write my own.

Need to know the number of files in a directory? I'll write my own.


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.


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.


I recommend https://handmadehero.org/ and associated community https://handmade.network/


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.


Try this guy:

https://nullprogram.com/

He has been known to take on students.


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


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

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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: