after almost a month and a lot of procrastination, I am happy to finally present: The CSGNF Intro to Programming Manifesto!!!!
PART ONE: SO YOU WANT TO LEARN TO CODE
When discussing learning how to code in general, I think it helps to think of an analogy where writing code is way more like building a car engine than it is writing an essay. When you write a program, especially more sophisticated ones, you’re putting together a lot of individually working parts that either you make yourself (such as functions) or the language provides for you. Debugging is the same way: you can slam out an essay and then look at it later and use the end product to figure out what you need to edit, but if you build a car without testing any of the parts first and it doesn’t turn on you have no idea what part of the engine is giving you trouble.
One of the biggest “tips” I have is to start with the basics and build fundamental knowledge before jumping straight to big projects! A lot of material online follows the model of “become a software engineer in a week” and starts at a really high level—you’ll have a much easier time long term if you start with computing and coding basics rather than “how to code a first person shooter with no experience.” I really liked TheNewBoston’s introduction to networking series. While networking is very different from programming, they build off of the same fundamental computing concepts, and they also have series on specific languages and frameworks as well.
Some of those videos are from as early as 2012, which seems like it would be outdated, but while frameworks and some new technologies change, the basic concepts of computer science have stayed the same for like 50 years. The languages I’ve done the most work in (C++ and Python) were first released in 1985 and 1989 respectively! They’ve gone through lots of updates since then but the basic concepts are all still there.
Another tip I have is to pick an end goal and then learn the programming language that will help you program that project in the end! Once you learn one language it’s pretty easy to pick up other ones, because the concepts of programming translate across all of the major languages. for example, I started learning to code with C++ (about 5ish years ago), and have since done work in C, C#, Python, Java, JavaScript, and some other front end & database technologies. With our car engine analogy, think of like building a Toyota engine vs building a Subaru engine. They probably come together in different ways and utilize different parts, but the basic pieces and patterns are going to translate between the two.
All that is to say: just choose a language based on what the thing you want to code is! A quick google search can usually give you a good idea of the best one for your project. Do you want your end project to be a Minecraft plug-in or mod? learn Java! Do you want to make a website to talk about how much you love your favorite twitch streamer? Learn HTML! Do you want to write a game in unity? Learn C#!
PART TWO: WHERE DO I LEARN TO CODE?
Hi! I have a very short attention span, and I have never really been able to make it through a course or textbook without giving up straight away, so I have never really been able to learn languages in the traditional way. I also very easily get bored with learners material, so I mostly stick to native material to consume my target language. Here is how I do it at the beginner level!
I usually start off with an app to learn the basics of the alphabet, vocabulary and grammar. Most of the times, I use Duolingo. I rarely get past the first few units before I jump into native material. Still, this is a good jumping off point.
When I start with native material, I usually use YouTube videos (with subtitles in the target language), and focus on spoken language, because spoken language is less overwhelming, and involves less complex language and grammar. At this point, I find that books are far too dense and complex for me to handle. Others might enjoy the challenge. My current favourites for this are LingoPie (for French, Spanish, German, Italian and Russian) and Viki (for Korean, Japanese and Mandarin Chinese).
I learn the most important words and phrases as I go. I do NOT look up every word, unless I can understand at least 70% of the language. For this, I will try and write the words and phrases down, and memorise them. I might use a flashcard app too (Anki is my fave, but Quizlet and Memrise are good too). For languages like Japanese and Chinese that have lots of characters to memorise, I will use an app (wanikani and chineasy are my faves). I always make sure that I know how to pronounce and understand each word or phrase.
I will start texting native speakers in my target language on apps like Tandem and HelloTalk. I look up words as I go, and will ocasionally try speaking.
I start shadowing (i.e. repeat after native speakers, imitating the intonation and pronunciation). I use Easy Languages for this.
After a while, I start reading. I’ll usually start with wikihow articles, or fluentu articles in my target language. I’ll write down new words, test myself on them until I get them correct, and then put them into anki to review.
After a while, I’ll formally study some grammar. I’ll usually use a textbook for this. However, I don’t necessarily do it in a traditional way. I go through the entire textbook and make a cheat sheet which condenses all the information in it to a few pages. I’ll review it regularly, and do LOTS of writing practice. For irregular verbs, I’ll just use flashcards, and write them down repeatedly.
Then, I’ll get a speaking buddy (I usually find one on discord) and speak with them a few times a week.
After a while of doing all of this, I start reading fanfiction (usually translations of my faves). It’s difficult, but I try to read intensively (i.e. look up every word).
At this point, I start journaling, and posting on the website journaly.
I’ll listen to podcasts like innovative languages, coffee break languages and language transfer. These are usually good for learning about grammar.
I start intensively reading serious content once I feel like I’m at a confident B1 level. I would suggest using proper newspapers (like le monde for French or BBC for English) and try studying one article daily. After a while, you can start reading a YA book (try something you’ve never read before in any language). Study it chapter by chapter fairly intensively, and then reread it again and again until you understand the story. After you’re finished with a chapter, put the new vocabulary into an app and review fairly regularly.
At the B1 level, listen using two sources: intermediate podcasts and native material. Intermediate podcasts are usually labelled as such, and are IN the target language, but about various topics, like culture or history (innovative languages have some, for french there is inner french, piece of french, news in slow french and RFI:Savoirs, for Spanish there is dreaming Spanish and news in slow spanish, and for Korean there is Iyagi). For native material, continue watching youtube videos about topics that interest you, and consider watching both the news and films/TV shows.
At this point you should be able to construct gramatically correct (mostly - if you still have problems then go through a grammar course, or work through a textbook) and fairly complex texts. I would suggest now learning some essay phrases and writing an essay. You’ll be terrible at first, BELIEVE me, but the more you practice the better you get. You could also start trying to write fanfiction (tip: use full phrases you have found in other books or fanfiction).
Continue doing what you are doing (reading intensively and widely, speaking with your buddy, listening, writing essays and short stories) and I think that after a while you will be able to say you are conversational in another language.
Thanks for reading this post! I hope it was useful! (Also haha ig my break from langblr is over lol).
But I protect myself, I surround myself with books, their silence does not demand anything, they exist , they are alive , they are for anyone to open, unlike us human being.
–Bo Carpelan, tr. by David McDuff , from "Urwind". Published c. 1993
SPACE KITTY!!!
Void cat but space, with moon for eyes~
bon matin! c’est tôt pour moi, hmm? today I’ll be sharing some online resources for learning french ranging from vocab lists to full on courses! i hope you find these useful - the internet really is precious when learning languages! <3
⁎⁺˳✧༚ frenchtoday.com
this website threatens to put me out of business and I couldn’t be more delighted! vocab lists galore, free lessons, tips to work on your pronunciation, articles on french culture and even stories and poetry. i haven’t looked at everything available on there, but from what I’ve seen, it’s pretty useful!
⁎⁺˳✧༚ frenchpod101.com
this is a free course you can take, with options for absolute beginners and those already a little familiar with the language. it looks to be good for conversational french and is an easy, no nonsense starting point for beginners, who i know from experience are often easily overwhelmed.
⁎⁺˳✧༚ coffee break french
this is one I’m not quite as familiar with but has come to me highly recommended. it’s a podcast that covers the basics as well as providing dialogues and example role plays. give it a try and let me know how you find it!
⁎⁺˳✧༚ innerfrench (chaîne de YouTube)
this is a really interesting channel! you get to learn french through a variety of different topical discussions and he speaks slowly enough for you to get most of what he’s saying even if you’re a relative beginner, which can make you feel super smart :)
bien, c’est tout! i hope these recs are alright, and I hope we meet again soon~ a bientôt!
Badger Ghost