50 Places You Can Learn to Code (for Free) Online
If you’re curious about learning a programming language then you’re in luck: there’s no shortage of resources for learning how to code online. University-level courses, tutorials, cheat sheets, and coding communities all offer excellent ways to pick up a new language, and maybe even a new job, too. Read on, and you’ll discover 50 great places to learn how to code, for free, online. University Many big names in education including MIT and Stanford offer programming courses, absolutely free. General If you’re just dipping your toes into programming, or you want to find a variety of resources, these sites offer several different ways to learn how to code. Community Learn how to code on these sites with a heavy community influence ready to offer help to newbs. Language Specific Drill down to the language you really want on these sites, offering expansive learning in one or two specific languages.
Everything you need to know about pointers in C
Style used in this document This is regular text. This is a , some code, and some sample output. This is a line of code. This is output you'd see on your screen. Definition of a pointer A pointer is a memory address. (Mmm, short paragraphs.) Starting off Say you declare a variable named . int foo; This variable occupies some memory. Now let's declare another variable. int *foo_ptr = &foo; is declared as a pointer to int. As I said, occupies some memory. Think of every variable as a box. is a box that is sizeof(int) bytes in size. This is true of all variables, regardless of type. The point of that is that the pointer is not the variable! The pointer has a type, too, by the way. multiple indirection . Interlude: Declaration syntax The obvious way to declare two pointer variables in a single declaration is: int* ptr_a, ptr_b; Given this, what is the type of ? *bzzt* Wrong! The type of is int. C's declaration syntax ignores the pointer asterisks when carrying a type over to multiple declarations. lvalue .
C++ Style Languages: C++, Objective-C, Java, C# - Hyperpolyglot
a side-by-side reference sheet grammar and invocation | variables and expressions | arithmetic and logic | strings | regexes | dates and time | fixed-length arrays | resizable arrays | tuples | dictionaries | functions | execution control | exceptions | concurrency | file handles | files | file formats | directories | processes and environment | libraries and namespaces | user-defined types | generic types | objects | polymorphism | reflection | net and web | unit tests | debugging and profiling General version used The compiler version used for this sheet. show version How to get the compiler version. implicit prologue Code which examples in the sheet assume to have already been executed. hello world How to write, compile, and run a "Hello, World!" file suffixes For source files, header files, and compiled object files. The gcc compiler will treat a file with any of the following suffixes as C++ source: .cc .cp .cxx .cpp .CPP .c++ .C block delimiters How blocks are delimited. statement terminator c++
January 2006
One more set of features that we need to learn, and then we get to go play. This is an important lesson -- we have reached the point where you can start doing some interesting stuff. So, just to get it under your fingers, there will be more than one assignment this time. Arrays In any sort of non-trivial application you are going to need to track collections of things. This is where the notion of collections comes in. The first, the simplest, and BY FAR the most common sort of collection is called an array. Suppose we wanted to declare an array of 10 integers. int[] myArray; Now, in Java, an array is an object in its own right. myArray = new int[10]; The number of elements in the array is called its dimension. Now, be very careful here. myArray[0] = 0; myArray[1] = 1; and so forth. We also have some shortcuts that we can use when we go to declare these things. int[] k = new int[3]; Or, we could declare, dimension and init the array all at one throw.... float[] z = {1.414, 3.1415, 1.6815}; i++;
10 places where anyone can learn to code
Teens, tweens and kids are often referred to as “digital natives.” Having grown up with the Internet, smartphones and tablets, they’re often extraordinarily adept at interacting with digital technology. But Mitch Resnick, who spoke at TEDxBeaconStreet, is skeptical of this descriptor. Mitch Resnick: Let's teach kids to code Fluency, Resnick proposes in this TED Talk, comes not through interacting with new technologies, but through creating them. The point isn’t to create a generation of programmers, Resnick argues. In his talk, Resnick describes Scratch, the programming software that he and a research group at MIT Media Lab developed to allow people to easily create and share their own interactive games and animations. At Codecademy, you can take lessons on writing simple commands in JavaScript, HTML and CSS, Python and Ruby. While we’re at it: bonus!
Perl
By Sam Hughes Perl is a dynamic, dynamically-typed, high-level, scripting (interpreted) language most comparable with PHP and Python. Perl's syntax owes a lot to ancient shell scripting tools, and it is famed for its overuse of confusing symbols, the majority of which are impossible to Google for. Perl's shell scripting heritage makes it great for writing glue code: scripts which link together other scripts and programs. Perl is ideally suited for processing text data and producing more text data. Perl is widespread, popular, highly portable and well-supported. Perl has horrors, but it also has some great redeeming features. This document is intended to be informative, not evangelical. This document is intended to be as short as possible, but no shorter. Preliminary notes The following can be said of almost every declarative statement in this document: "that's not, strictly speaking, true; the situation is actually a lot more complicated". Hello world Here's the full text of helloworld.pl: