RESOURCES

Resources

Want to learn to program or help someone else learn to program?   Here are the best resources for beginning and intermediate programmers.
Languages (below)
  • Games and Animation
  • Web Page Design (Front End)
  • Applications (Back End)
  • Development Tools 
LEARN HERE!  Online Courses, Tutorials etc.
Organizations and Classes dedicated to Computer Science Education 
Contests for Coders
Other Cool Stuff
_______________________________________________________________________________


LANGUAGES

      ______ GAMES and ANIMATION _______
Scratch is a great place for any new coder, especially young coders, to start.   If you want to go beyond that, here's a 2 page annotated list of game design tools / game making software.  
  • Alice  www.alice.org Using an innovative 3D programming environment that makes it easy to create animations or games, the Alice Project seeks to provide tools and materials for a conceptual core of computational thinking, problem solving, and computer programming.
  • Bootstrap  www.bootstrapworld.org  Bootstrap is a free curriculum for students ages 12-16, which teaches them to program their own videogames using algebra as the vehicle for creating images and animations.  Recommended by the CSTA.
  • Kodu   http://kodu.en.softonic.com/   is a visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The visual nature of the language allows for rapid design iteration using only an Xbox game controller for input (mouse/keyboard input is also supported). Monthly challenge here: Feb 2013 challenge is a Mars Rover navigation


      ______ WEB SITE DESIGN (Front End) _______
Coding your own website from the ground up is fun and enlightening.  You do have to get the syntax perfect for it to work. That's why most learning systems and development environments give you immediate preview. 
  • HTML5/CSS3   These are the fundamental languages for coding the user interface (front end) of websites and other web based applications.  HTML is a simple language that holds and organizes the text, links and images on your website into headers, paragraphs and other groupings.   CSS starts simple but has lots of more intricate features that you can use for the visual design of your site to make the text and images and design elements sing.  
  • Javascript is a simple, versatile language that can make your website interactive getting input and information from the user and from the internet.  
  • Thimble https://thimble.webmaker.org/en-US/  Thimble makes it ridiculously simple to create your own web pages. Write and edit HTML and CSS right in your browser. Instantly preview your work. Then host and share your finished pages with a single click. Easy, huh?  Start from scratch or try  out one of their very cool projects.  From Mozilla, a non-profit that believes everyone should be able to make and share with the open web.
  • Codepen codepen.io/pen/   lets you try out HTML/CSS and also Javascript and see what happens immediately. It also has a showcase/demo of lots of very cool work, like this  or this.  Here's how they describe it:  CodePen is a playground for HTML, CSS, and JavaScript. Build demos with our in-browser code editor. Share what you build. Explore and learn from other’s code.
  • jsfiddle jsfiddle.net also lets you try out HTML/CSS and  Javascript and see what happens.
  • Blogs:  If you'd like to warm up to true web site design without starting from scratch, you might like starting with a blog.  Blogger (through any gmail account) or Wordpress give you considerable design flexibility, and as you learn more you can get in and augment the actual code.   For instance, this website uses Blogger as a platform.  Wordpress is so versatile that 20% of the web sites use it for starters.  Here's a good list of Wordpress resources for beginnersl


      _      _ APPLICATIONS (Back End) ____ __
These languages let you DO things with logic or computations or interactions with your user or with dataStart with Javascript, Python or Ruby for most applications.  Or try  AppInventor, an easy to use visual language for coding mobile apps.
  • Javascript  is not only a language to make a website interactive (see above.)  It can be used to create games, mobile apps and much more.  You can learn Javascript at many excellent online sites, including Learnstreet, Khan Academy, CodeHS and Codecademy.  Learnstreet also has a Code Garage full of fun projects to work on as you're learning to code.
  •  Ruby   www.ruby-lang.org/en/  A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.  About Ruby  and here's how to use Ruby on Rails to design web apps. Try Ruby  (free from Code School)
  • Other:   The languages listed above are the best places to start, but there are many other programming languages in use.  Some of the the more common, powerful, fast general purpose languages are:  Java, C, C++ and PHP.   There are also special purpose languages for databases and other data handling, etc.


__         DEVELOPMENT TOOLS _______
Once you have a language under your belt and want to use it in the "real world" beyond the course environment, there are additional tools you'll want to explore, starting with a code editor IDE's or Integrated Development Environments include code editors and other useful tools"Frameworks" like JQuery for Javascript, Rails for Ruby or Django for Python have libraries of common routines so you don't have to code everything from the ground up.
  • Web Inspectors let you see the HTML and CSS used in any website, which is fun and a great way to learn.  You can also tweak the code and see what happens, instantly. Most browsers have an integrated web inspector;  the Web X-ray Googles from Hackasaurus are a limited, kid-friendly version.
  • LearnStreet  has an excellent summary of development tools here including descriptions of environments and frameworks that work well with different languages.  

_______________________________________________________________________________

No comments:

Post a Comment