[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 19567

File: 1477125883451.png (7.08 KB, 128x128, R (7).gif)


Hello, /lam/. I have previous programming experience, i worked 1 year as a junior dev and did 3 years of college, however both were soykaf and my foundational knowledge is like kicking dead whales down the beach. I have until April (roughly 6 months) until money runs out and i have to find another job, my intention to fill the gaps in my knowledge before that. Keep in mind the market is irrelevant, i can easily get a (soykaf) job already if i need the money, so studying something like node.js just to get a gig would be a waste of (precious) time.

Last month i did "CS50" (an online course), read "C primer plus", "how to build your own lisp", "learn C the hard way" (don't), and "21st century C". Right now i'm doing MIT'S "Structure and interpretation of computer programs" course, i tried reading SICP alongside the course but it felt rushed, the books is complex enough by itself, so i left it alone until i finish the course, right after finishng the course i will focus on finishing the book and all exercises.

What would you recommend me next? Also, i know practical projects are important, but remember that i already have a few years of practical experience, i want to use these 6 months to get raw knowledge, after that i will definitely spend my time doing projects, but if i do that now i'll end up having to work again, that means no time to study.

Right now i'm loosely following the OSS curriculum (https://github.com/open-source-society/computer-science), however some courses suck and i swap them for something better, for example i swapped "program design" for MIT'S SICP. Besides that i'm reading some books, after SICP i have these in my queue:
"Code complete", "Introduction to algorithms(gang of 4)", and "Clean code". What other books, courses and general resources would you recommend me, considering my intentions mentioned above?

TL;DR: I have 6 months before Lucifer takes over my body, my only chance of survival lies in filling the gaps in my computer science knowledge, recommend me stuff.


File: 1477160159684-0.png (4.33 MB, 200x200, Concepts, Techniques, and Models of Computer Programming.pdf)

File: 1477160159684-1.png (3.41 MB, 200x200, Essentials of Programming Languages, 3e.pdf)

Read these after SICP.


You sound a little like me, or where I might be in a year at least. I'm on my third year of college, looking to get some practical experience from a part time job or an internship or something, and it's really setting in just how dissatisfied I am with the courses, so I'm trying to bring in outside material to be a better programmer. I'm reading The Pragmatic Programmer right now, which has felt like a gentle way to get into the habit of reading, and I'll be tackling SICP next. Wasn't sure where to go after that, so I'll be monitoring this thread.
Good luck, OP.


File: 1477214873208-0.png (4.84 MB, 200x200, tmp_10991-Introduction to Algorithms 3rd Edition-159042962.pdf)

File: 1477214873208-1.png (1.66 MB, 200x200, tmp_10991-Solutions to Introduction To Algorithms (2nd edition)-1556357506.pdf)

Tackle algorithms next.
They are (mostly) completely independent of programming languages.
I dont know if or what books are recommended for that course you are taking, but the standard would be "Introduction to algorithms" later you may want to look into functional algorithms (optional of course) with "pearls of functional algorithm design" and "purely functional data structures".
And lastly, after having mastered intro to algorithms you could start to tackle Knuths "The art of computer programming"


you did 3 years of college but took an intro compsci course (CS50)? the mind boggles.
> "Introduction to algorithms(gang of 4)"
you probably have your names mixed up here, "gang of four" refers to a software design patterns book that you should avoid.
I assume by the intro to algorithms part that you meant another book that someone has already posted.
if you can get through
- all of chapter 1
- chapter 2 and 3, ignoring the last sections
- chapter 6, ignoring the last two sections
- the matrix and linear programming sections of chapter 7
- also ignoring the * sections you might come across
of CLRS then you will have a standard foundation which is easily achievable in the time you have.

Code Complete is a good book to read while doing the above course, don't spend too much time with it though.

just my 2cents.


>you did 3 years of college but took an intro compsci course (CS50)? the mind boggles.
I was 18 and someone told me that information systems is "just like computer science", turns out it isn't. I didn't learn much outside of syntax in college.

Thanks for your input, i will likely read both.


Knuth's Art of Computer Programming



Maybe the majority of programmers don't read good books?


I also did get this impression, but there is no harm in it. If people recommend me a book they haven't yet read, i'll give it a try, if it's well written and appropriate for my goals, good for me, if it isn't i'll just drop it.

In my specific situation there isn't much harm in recommending stuff you only think it may be good, because i have the time to read a chapter o two before deciding to commit myself. Also i won't give up on my career because of a bad recommendation.

In general it's a bad aspect of programmers on the internet in general, specially on stack overflow where people would sell fetuses if it got them some points in their profile. But in my specific situation i think it's okay.


How are you so confident you can find a job on demand even though you don't have a degree and only a year of experience?


I live in a famous city in Brazil. It's a soykafty city, however almost every famous company is here (IBM, Microsoft, etc..), and all of them always have a position open. The thing with this city is that most people who get graduated don't know anything about programming, because the education here is horrible, anyone who knows their way around programming gets job offerings even before finishing college, like i have, before quitting work and college. There is huge demand for programmers but a tiny supply.

Also i have roughly 1.5 years of experience (i had another job before my previous one as a junior dev), i can speak english and my github account has projects in C, i have a codepen account with a few other projects, etc.. This makes me desirable for companies here, having a portfolio makes me able to choose which company i want to work at, albeit in a junior position that pays about 5 dollars/hour to new people. I would be able to pay for my bills but not much more than that.

The quality of life here is horrible however, i used to spend 4 hours in a bus to get to work and go back home every day. It's a poor city, so people enjoy talking loud and touching and being obnoxious in general. So i'd rather study, get good and work from home rather than go through all of this again. If i must get another job i have the ability to get one in a few short weeks, however it's not something i want to do.


its true, sometimes it hard find good books


if they not want reading, this is the list:

Books Most Programmers Have Actually Read

Code Complete
The Pragmatic Programmer
C Programming Language (2nd Edition)
Refactoring: Improving the Design of Existing Code
The Mythical Man-Month
Code: The Hidden Language of Computer Hardware and Software
Head First Design Patterns
Programming Pearls
Effective Java (2nd Edition)
or Effective C++
Test Driven Development: By Example


Had a similar experience except my city isn't exactly famous. It's got some industries but that's it.

I attended a polytechnic high school and would receive great job offers before I even finished it. The school itself actually hired me as a TA; they provided me with classrooms and allowed me to make my own schedule. I tried to assist my classmates to the best of my ability but they simply would not come to me or anyone else for help... I guess they didn't care, despite the fact they had chosen to attend computing classes. Most days I would sit in class surfing the net and being paid for it. Funny thing is attendance would skyrocket as tests approached. One day before the test, I'd have the impossible task of teaching 40+ people 2+ months of material in a single class session. My job was to help them learn algorithms and programming but the reality is they'd show up before any test, no matter the subject. They expected me to tell them the answers to everything that could be asked. So I ended up helping them with physics, chemistry, etc. because why not? They'd just leave if I didn't give them what they wanted.

This experience taught me to hate exams with a burning passion. To this day, I can't stand them and don't give a crap about any of them. I simply refuse to measure myself using that standard. I think they reduce learning to a simple game of figuring out what will be on the test, "learning" that and then spitting out the answers the teacher wants to hear, only for the brain to discard the now unused information after the test. It's some kind of educational bulimia: these people forcefully stuff their heads full of facts and then vomit all that knowledge on the test; as soon as they leave the exam room, they relax, feel good about themselves and forget nearly everything. Kind of explains why companies can't find qualified people to work for them.

I feel like I was the only person in my class who actually gave a fuarrrk. I had maybe two friends who showed promise: one actually did go on to become an computer engineer and acquired skills I still haven't managed to learn on my own, such as electronics; the other friend is more of a manager than programmer. He likes technology but doesn't really enjoy building things and figuring stuff out. I would help him out with his university assignments to the point we joked about him having to put my name on them.

I hated being the smartest kid in the class. High school wasn't even that hard. I wanted to learn from and be inspired by the people around me and it just wasn't happening back then. I ended up leaving technology for good and making it my hobby rather than my field of work. Not sure if it was a mistake yet but it's a decision I'll have to live with.


Speaking of foundational knowledge, I have a very poor foundation of mathematical knowledge from years of not paying attention in school or college. Now I realize how dumb I was and how awesome math really is and I want to git gud however I know topics build on one another and need a strong foundation. Do any lains have suggestions on how to build a strong foundational knowledge of mathematics on which to start building the more complex math of computer science topics on?



I'm currently doing this and I'm... a third through basic mathematics by serge lang :)


Exactly the kind of thing I was looking for, thanks!


No problem! Glad to be of help!


why do you say gang of four should be avoided? just wondering