How do I code? (I don’t know how to program.)

Below are some useful links for learning programming. If you get stuck, don’t be afraid to ask us questions in the #dev-help channel on our discord. If you can’t find what you’re looking for in one of these links, try googling “how to do X in csharp”. You’ll usually find several examples.

If you have some experience (read: understand things like “classes” and “control flow”) and would rather learn by doing, try looking at the Issues on the Github on the Github repo. They are usually pretty simple and someone can always help you out on the discord.

You may have come here simply wanting to add items. It’s possible to do that without learning how to program, though you’ll be limited in what kind of functionality you can give them. You’ll still probably need to learn Git (read on!)

If you want to do anything more complicated, I recommend you read the rest of Getting Started, and then start reading GS14 By Example, which goes through many common activities and how to do them.

Tutorials

C#

The programming language you’ll be using to contribute to SS14. If you’ve never programmed before, C# is a solid pick for a first language!

C# A Player’s Guide 5th Edition A very engaging book for beginners to C#. Very modern, making use of C#10 and .NET 6 with tons of projects and challenges to actually make use of your coding skills. Highly recommended. Buy whatever the newest edition is (regardless of what this says), as we always stay up to date.

CSharp Fundamentals for Absolute Beginners | Channel 9 A video series covering the absolute basics of programming, C# style. Also walks you through installing an IDE (a program that makes it much easier for you to write code).

C# 101 | Microsoft The videos are so-so (skimming over terms like “variable”, “string”, and “interpolation”), but the tutorials themselves are solid. If you prefer interactive written tutorials over watching videos, they’re completable in your web browser here.

Microsoft’s various C# guides For those who already have some experience (read: knows what “modern, object-oriented, and type-safe programming language” is, since that’s the first line), the getting started guide gives some basic examples on how to use C# and shows how to use Visual Studio for writing C#. The programming guide gives more specific examples of C# language features.

Learn C# in Y minutes Reference sheet presented through a massive C# file. Again, this is more useful for those who already understand how to program and just need a quick reference for what the syntax is.

Git

Git is “version control software”, aka the reason a bunch of people can contribute to one project without it devolving into chaos. Git’s probably going to seem like opaque bigbrain nonsense for a bit, but then it clicks and then you, too, get to try to convince people “it’s actually really simple, see, imagine you have a tree–”

Git for the GS14 Developer Good on its own and has a lot of resources for learning Git further. Explains the what, the why, its role in SS14, etc.

Learn Git Branching An interactive, gamified way of learning Git. Plays well with “Git for the GS14 Developer” so you can develop a more intuitive understanding of what it’s talking about.

Other

CS50 | Harvard Teaches computer programming and how computers work. Covers a broad swathe of topics (different languages like C and Python, algorithms, memory, etc). To oversimplify: learning things like “for loops” and “if statements” teaches you how to talk the talk. Breaking down why algorithms work, the differences between programming languages, actually writing programs to solve puzzles, etc. is the “walk the walk” part. You can get started without this and pick it up naturally over time, though it’s a slower process.

Subpages