Astronomy Club

University of Arizona

Computing Resources


Online CompSci Courses –  free and comprehensive resource that is a collection of open college courses that spans videos, audio lectures, and notes

CompSciPHD  – looking to get a PHD in computer science? The link has info on how to do that

TopCoder – Software Development Contests and holds Tutorials as well.

The New Boston  Programming, Software Tutorials, Science Tutorials (YouTube channel)

What CompSci Students Should Know

Non-Technical CompSci Reading List

Recommended Computer Science Research Papers

BetterExplained A blog containing tips in articles – Math, Programming, WebDev.

Google Code University

Scratch A very gentle pseudo programming language

List of Compilers

Microsoft Visual Studio Express  – IDE General

wxDev-C++ / Dev-C++ – IDE

Code::Blocks – crossplatform C++ IDE

GCC – just a compiler

NASM – Netwide Assembler, just compiler

FASM – flat Assembler, IDE and compiler

Vim / Emacs / Notepad++ – Text editors that can be extended into an IDE

Eclipse – General IDE

Netbeans – General IDE

QTCreator – Cross Platform IDE

Computation Theory

Youtube – Real World Turing Machine

Play Hookey Basic Comp Theory Control & Embedded Systems

The Elements of Computing Systems

Youtube/ Coderisland – Intro to Theory of Computation (Advanced)


Google Code Search for code

Wolfram Alpha/Web & Computer Systems

Pro/g/rammer’s /g/uide

Programming TI calculators/BASIC [Often these calculators are the students’ first glimpse to the programming world.]

Thinking in Java & Thinking in C++ – Contains links to two free BOOKS

Higher Computing for Everyone Teaches programming using the C language

Carl Herold | Higher Computing For Everyone – Basics of Programming With Focus On C

Open Data Structure

How to Think Like a Computer Scientist: Learning with Python – Introduction to programming for absolute beginners, using the Python language

Become a Programmer, Motherfucker

Starting to Program 

Codeacademy Learn coding in a simple and interactive way. No need to set up an IDE for this. Currently has a focus on scripting.

Practice, Challenges, Contests

CodingBat Practice your Java and Python coding skills with the excersies. All compiling and code is run in on the server giving “real-time” responses!
Project Euler  Practice Coding (With Number Theory)


A Layman’s Explanation of P=NP

Youtube/ MIT’s Introduction to Computer Science & Programming

Cellular Automata Comprehensive cellular automata site with lots of resources

Conway’s Game of Life Cellular automata wiki

Practice exams for intro to CS University course

Dictionary of Algorithms

Cryto Handbook

Bayesian Reasoning and Machine Learning

Carnegie Mellon’s 15-112: Fundamentals of Programming – It has a syllabus and the schedule of the class containing what students have learned. 

C, C++, C#

Learn C++ – Starting C++ C & C++

Teach Yourself C++ in 21 Days

Youtube/ SkyeShatter C++ reference & other site pages include tutorials

A C# Crash Course

XNA Tutorials same author as the C# Crash Course

Javanotes  Starting Java

The Java Tutorials Concise Java Mathematics & Java

Learn Python The Hard Way  Starting Python Book

Invent with Python  Beginner-level free Python book with a focus on game programming Python Documentation Index

The Python Tutorial

Learn Python tutorial

Online Python Tutor View python code executed step by step to see how it works (for people new to programming)

Learn You a Haskell for Great Good! Guide to Haskell

Real World Haskell Real Work Haskell

The basics of FORTRAN

Other Languages CMD Prompt Basics

Practical Common Lisp Android

Web Development

Opera: Web Standards Curriculum Complete beginner to having a solid grounding in standards-based Web design, including HTML, CSS, and JavaScript development

MySQL Reference Manual

Webdev Reference & Documentation From Mozilla

J-Query and Javascript tutorials

Ruby on Rails Optimized open-source web framework

YUI Theater  Lectures on web technologies

W3Schools Web development tutorials on HTML, XML, scripting, services, and building.

HTML Pastebin Lessons


Learn to Subnet Learn to Subnet

Beej’s Guide to Network Programming A nice tutorial on programming with sockets. Inside is also how to make a simple server and client!


Linux / *nix

Compilation of Linux/Ubuntu Resources by Reddit

Slackware Linux Essentials   The slackware book is in essence a tutorial for installing and learning Slackware, which is considered to be one of the most learning intensive distributions of GNU/Linux available. There is a saying, “If you learn Redhat, you know Redhat. If you learn Slackware, you know Linux.” If you take a quick glance through the ebook, you’ll realize that anyone interested in Linux will find relevant information here such as partitioning hard drives, compiling the kernel and software. how to use bash, installing and editing windows managers and desktop environments, or managing network connections and protocols. The Slackware ebook is hands down the most important tool I came across as I began learning about Linux. -Anonymous
UNIX in 10 Minutes Starting Unix

The Linux Documentation Project

Game Development

DirectX Tutorial Tutorial for learning DirectX, geared toward game development

The Ultimate Indie Game Developer Resource List A bunch of links for independent game developersOpenGL Shading LanguageOpenGL Tutorial


Cheat-Sheets Cheat sheets for many programming languages

DevCheatSheet Tons of cheatsheets for lots of programming languages, frameworks, editors, environments, and more

C++ Reference C++ Term Reference