Resources
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.
- Scratch http://scratch.mit.edu/ Create interactive stories, games
, music and art - and share them online. Scratch is a visual programming environment (you don't have to type or worry about syntax; you just move blocks of code into action) designed for kids in grade school and up. Why Scratch first? Celebrate Scratch Day in May! Online community for Scratch teachers
- 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.
- GameMaker www.yoyogames.com/gamemaker/studio an easy to use game making platform; simple tutorials here
- 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 data. Start with Javascript, Python or Ruby for most applications. Or try AppInventor, an easy to use visual language for coding mobile apps.
- AppInventor http://appinventor.mit.edu/ Create a mobile app with this easy to use visual programming software from MIT. Also check out the Technovation Challenge, a great contest for high school girls that can use AppInventor.
- 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.
- Python www.python.org/about Tutorials Python is an extremely popular, free (open source) remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to Tcl, Perl, Ruby, Scheme or Java. Jessica McKellar on Python and hacking Coursera course called Learn to Program
- 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.
- Code Editors: For beginners, your best bets are to use Notepad++ (if you are on Windows, free) or Sublime Text 2 (any platform, free for unlimited trial period) To test out a bit of code, try CodePen. Review of many code editors.
- 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.
- BentoBox: In this video see how RailsGirls explains what different parts of the system are designed for.
_______________________________________________________________________________
No comments:
Post a Comment