template
  • About
    • Raison d'etre
    • View Jean Harte's profile on LinkedIn
  • Study Resources
    • First Stepsv
    • Books v
    • Courses v
    • Other Topics
  • Testing
    • Current State of the 'Art'
    • SELENIUM
      • Selenium IDE
      • Selenium WebDriver
  • Javascript
    • Javascript Practice
    • jQuery Practice
    • Canvas
    • JS Whiteboard
  • HTML5 / CSS3
    • Zurb Foundation3
    • HTML5/CSS3 Intro
      • Practice: Drag-Drop
      • Practice: Menus
      • Practice: FORMS
      • Page Layout (Table)
      • Practice: Flex Box
      • Practice: Sections, Articles
      • Practice: Page Layout
      • Whiteboard
      • Checklist
      • Selectors
  • Networking
    • Meetups
    • Groups v
  • Resume
  • Misc
    • Tech Women
    • Miscellany
  • Updates


Jean's Experimental Website


Author: Jean Harte | Created 07/16/12 with Google App Engine's Python Runtime Environment | updated 11/04/12 | TODAY is:




Current and planned pursuits... (these are not links, yet, but HOVER to see what is underneath (see Updates re IE9 and Chrome)



OTHER THINGS I WISH I HAD TIME FOR ....

  • The Undeniably Non-Fiction Book Club in Berkeley
    • October: Discussion of It's Even Worse Than It Looks: How the American Constitutional
      System Collided with the New Politics of Extremism, by Thomas Mann and Norman Ornstein
    • September: Discussion of Religion for Atheists: A Non-believer's Guide to the Uses of
      Religion, by Alain de Botton
    • September: Discussion of The Righteous Mind: Why Good People are Divided by Politics and Religion, by Jonathan Haidt
    • August: Discussion of Where Good Ideas Come From: The Natural History of Innovation, by Steven Johnson
  • books and articles on my growing lists of Women and Voice in Science and Technology

  • ... so many other things ...
  • ... Joseph Stiglitz's recent books:
    The Price of Inequality: How Today's Divided Society Endangers Our Future
    Freefall: America, Free Markets, and the Sinking of the World Economy
  • reasearch and do whatever I can to to fight against the destruction of habitats that will result in the extinction of countless species of plants and animals, but especially of other primates: organutan could lost within a year..
  • .. the planet..
























Click on a bunny! (should, but does not work on Chrome or Safari)

bunnies
HOVER here to see a yawning bunny
(not supported
by IE)

innerhtmlempty

AESTHETICS

color Color Theory

I took a Color class a long time ago but it is of course worth revisiting. Color Theory is the link to my page of references.

"Although color theory principles first appeared in the writings of Leone Battista Alberti (c.1435) and the notebooks of Leonardo da Vinci (c.1490), a tradition of "colory theory" began in the 18th century, initially within a partisan controversy around Isaac Newton's theory of color (Opticks, 1704) and the nature of so-called primary colors. From there it developed as an independent artistic tradition with only superficial reference to colorimetry and vision science. - Wikipedia

... but the reason these pages are currently so colorful is because, when first deployed, they were pale gray and tan
and a friend said it was "BORING"...

HTML/CSS

HTML Dog logo HTML DOG Tutorials

In April, never having learned very much HTML and CSS, I started with the exercises in HTML Dog Tutorials
for HMTL and CSS. My very first practice files and notes are here.

I later turned to HTML5/CSS3, the practice files for which are this website.

PYTHON

Python (the Hard Way)

Having installed Python 2.7, Powershell and Cygwin on my PC, I began working through the exercises in
Learn Python The Hard Way and fnished exercise 21 Functions Can Return Something.
I then turned my attention to learning other things and haven't revisited to continue through exercise 52


TOOLS - Webserver

xampp Xampp

Mark installed XAMPP 1.8.0 for Linux and Windows, on my laptop. An "open source cross platform webserver solution stack package", it includes:

  • Apache - (web server)
  • MySQL - (open source Relational DB Management System)
  • PHP - (Hypertext Preprocessor) + PEAR (PHP Extension and Application Repository)
  • Perl Programming Language
  • mod_php - (Apache HTTP Server Module)
  • mod_perl, mod_ssl - (optional modules for mod_php)
  • OpenSSL - (open source implementation of the SSL and TLS protocols)
  • phpMyAdmin - (open source tool written in PHP to handle the admin of MySQL with use of a web browser)
  • Webalizer - (GPL application that generates web pages of analysis from access and usage logs)
  • Mercury Mail Transport System - (donation-ware mail server) for Win32
  • NetWare Systems - (computer network OS) v3.32
  • Ming - (C library for creating Adobe Flash files)
  • FileZilla FTP Server - (free and cross-platform FTP Client/Server)
  • mcrypt - (replacement for the UNIX crypt command, a file encryption tool)
  • eAccelerator - (a PHP accelerator)
  • SQLite - (relational DB for local/client storage in applicaton software such as web browsers)
  • WEB-DAV - (an extension of HTTP) + mod_auth_mysql

TOOLS - OpenSource/ Revision Control

GitHub

It will be a while before I have anything of my own to add to Open Source, but Mark pointed out that I might find an ongoing project to which I could contribute. I created a GitHub account with username "brokenpipe". He insisted it "has to be" a "clever" name.

An article on opensource.com posted on May 12, points one of the overlooked advantages to get involved with Open Source: a resume boost .

TOOLS - Testing

Selenuim

That night, May 12, I installed Selenium, and read the documentation on May 19 and 22 - yes, I spent my birthday reading about a browser test automation framework. My intention was to learn by using it to test the complicated web application for a friend's startup, Timecrunch, as well as tesing my own website.

TOOLS

Editor: Notepadd ++ or Sublime Text ?

Notepad++ has not been savings font settings. Mark found that the one "everyone" seems to think is "awesome" is Sublime Text 2

I downloaded and installed it but have not used it much: it is rather elaborate may well be an afternoon project to learn all that one can do with it.


FONTS

Adobe Edge Fonts another... typekit's name for it was source code pro

TOOLS

Fun with Google App Engine

On July 4, I decided that although I have nothing to 'show' yet, I should just decide which hosting service to use and make a website. I turned my attention to Google App Engine and installed Google App Engine SDK (Software Development Kit) for Python. It took a while to figure out how to configure "app.yaml" to use static files and then a bit longer to find out how to get the index.html, which worked locally, to work after deployment rather than the main.py. Finally, on July 16 .. here it is...

PYTHON - Framework

Python/Django Tutorial - Building a Blog

At the PyLadie's Build your own Blog: Python/Django Workshop, we translated the example for building a project in the Django Project Tutorial from the the creation of a basic poll application, to a blog application, with an admin site that allows the the writing of posts and comments. I got through parts 1 and 2 (of 4) of the tutorial, ending with a functioning admin page, beyond which are the sections on models, templates and forms and a slew of "other batteries included".


In July, after having already used Google App Engine to deploy my website, I turned my attention to trying to complete as much more of the tutorial so as to deploy the blog as a website with a database behind it - blognamenotavailable - before continuing my study of Django. The Google App Engine documentation for Python does include a section Running Django on Google App Engine. That page, however, is simply a 2008 article labeled obsolete in 2010. In its place is the recommendation to
" ...consider a project called Django-nonrel, a (currently) maintained fork of the latest version of Django which allows developers to run native Django applications (via Django's ORM) on traditional SQL databases as well as non-relational datastores (including App Engine's) without modification of your Django data model classes - you still need to work within App Engine's restrictions like no JOINs. For more information on using Django-nonrel with App Engine, please see our Django-nonrel article which shows you how to convert a native App Engine webapp app to a pure Django one.
It looked promsing and I spent over two days on this effort, before happening onto a page on that website which stated that the project was abandoned. From the forum discussions, I could see that it did indeed work for some at some point, but with no source for answers to my questions, I looked elsewhere.


Related: Test-Drvien Django Tutorial
The Concept: This idea is to provide an intro to Test-Driven web development using Django (and Python). Essentially, we run through the same material as the official Django tutorial, but instead of 'just' writing code, we write tests first at each stage - both "functional tests", in which we actually pretend to be a user, and drive a real web browser, as well as "unit tests", which help us to design and piece together the individual working parts of the code.

Django blog with GAE? .. not so much..

Using Google App Engine, Building Web Applications covers the use of Python, JQuery, Javascript, Ajax and Django with Google App Engine. Perfect, I thought.
I didn't want to buy it - the pub date was 2009 - and happily placed it on hold at the library.


.. but it was two weeks before the library had it ready for me and by then the Django guys had told me that the Django that works with GAE isn't really Django and,

I also got a free electronic copy of the Early Release of the 2nd edition of
Programming Google App Engine: Build Scalable Web Applications on Google's Infrastructure

TOOLS

Heroku Cloud Applicaiton Program

This practice website, such as it is, is fine on Google App Engine. For my Django blog, however, I should've used Heroku to begin with. The Django guys said that even if one can get it working with Google App Engine, it isn't really Django. It is the fact that I wasted at least two whole days that is bothersome, especially since I see that Heroku, which works with git, - which I have yet to learn - is rather elaborate, and will also take a few days to master.
The blog itself - an exercise, but one I'll be able to use- is far more work: the Django Template Language and Template Engine at the very least, as well as the Model System, Forms and Frameworks.
Beyond the Django part, of course, and the simple fact of deployment, is the database.


PostgreSQL

Heroku uses PostgreSQL, "..a powerful, open source object-relational database system, which has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness."

Another learning adventure coming up.

Back to Top of Page

HTML5/CSS3

In mid-July, I intensified my effort to learn more HTML5 and CSS3. See my practice pages.
There are seemingly endless free resources on the web. In addition to websites with tutorials such as the excellent:

  • Mozilla Developer Network
  • HTML Rocks
  • HTML Rocks- Mobile Optimization
  • Site Point
  • Webdesign Tuts
  • Webdesign Tuts - Responsive Multi-level Navigation
  • stackoverflow.com
  • Quackit Webmaster Tutorials
there are lists such as:
  • 35 Useful CSS3 Tutorials to Build Your Skills
  • 70 Must-Have CSS3 and HTML5 Tutorials and Resources
  • 11 Stunning CSS3 and jQuery Powered Tutorials .. and more.
and useful websites such as:
  • Standardista
  • HTML5 Semantics (Smashing Magazine)
  • 25 HTML5 Features, Tips and Techniques You Must Know (NetTuts+)
  • HTML5 Demos and Examples which one can fork on github
There are a lot of things that used to be impossible without Javascript that can now be done with CSS3,
and so many fun new things to learn.

I also signed up for CSS Weekly's newsletter and joined Linkedin groups, CSS Discussions, Tools and Examples and CSS3/HTML5 The Future of Front End.


HTML5 "and Friends"

Mozilla Developer Network states that
"HTML5 is the set of technology standards that support the next phase in the development of the Web. From its beginning, Mozilla has championed Web standards to ensure freedom of choice for those who use the Web and independence for those who build it. Leaders from Mozilla helped start the evolution of HTML and related standards that is now known as HTML5, and Mozilla continues to lead in both defining and implementing these standards.
The term "HTML5" has been applied to many things**, creating confusion about exactly what it is and what it can do. Rather than split hairs, we use "and friends" to encompass all the "new, exciting Web technologies" that will enable the next wave of Web-based innovation."

** In addition to HTML/HTML5,this includes CSS, HTML5 Audio and Video Canvas, WebSockets, HTML5 App Cache,
File API, Geolocation API, Local Storage, and the experimental technology Indexed Database.

HTML5 and Friends - The Web as Platform is a presentation given at the Mobile World Congress 2012 in Barcelona,

I've read about each of these but have not tried to do anything with them yet.

A free-for-download book, with the catchy title HTML5 Tests the Limits of Testing appears to be a white paper for an expensive product called TestComplete - Automated Testing by a company called SmartBear.
It might be worth a quick read-through to see what issues they are addressing.

A few other useful websites for designers and web developers are .....

Smashing Magazine
OneExtraPixel
A List Apart

HTML/CSS

HTML5 Boilerplate and Initializer

Mark found HTML5 Boilerplate. Soon after, he went to a SF HTML5 meetup talk (available online) by
Jonathan Verrecchia, the author of an HTML5 Template Generator, "Initializer". I downloaded both.

TOOLS - Debugging

firebug logo Firebug

Firebug integrates with Firefox "to put a wealth of development tools at your fingertips ... You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page..."


HTML Validator

HTML Validator is a Mozilla extension that adds HTML/5 validation inside Firefox and Mozilla. Along with Firebug, it is VERY useful.


CSS Lint

CSS Lint points out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency.



Not all browsers support all of the new CSS3 and HTML5; in some cases, they require vendor-specific prefixes,
-ms for IE, -o for Opera, and -webkit for Chrome and Safari. Device-specificity is a whole-nother endeavor. I haven't even tried CSS3's Media Queries yet.

An article in Oct 2011 - Smashing magazine describes -prefix-free on github which might be worth trying.

Back to Top of Page

RESPONSIVE WEB DESIGN

(Responsive Web Design (RWD) is an approach to web design in which a site is crafted to provide an optimal viewing experience -easy reading and navigation with a minimum of resizing, panning, and scrolling-across a wide range of devices (from desktop computer monitors to mobile phones) .. which uses CSS3 media queries).

NOTE: for example, see the presentation of this website on a laptop and on a table.

TOOLS

Zurb's Foundation 3.0

Mark again mentioned Zurb's Foundation 3, as very useful tool and therefore a "must learn":
"Foundation 3 is a front-end framework built with Sass, the powerful CSS preprocessor (or, CSS metalanguage), which allows us to much more quickly develop Foundation itself - and gives you new tools to quickly customize and build on top of Foundation."
The selling point is the "multidevice mobility".
On Sept 9, I downloaded the basic Foundation CSS and installed it below my current files to keep it separate.
See my new practice page.

TOOLS

--> Adobe Edge Tools - Inspect

Adobe Shadow has been susperceded by Inspect one of the new free Adobe Edge Tools.


Adobe Shadow, which Forbes (Mar 2012) called a "sleuth for mobile web design" (Mar 2012), is a
"web development utility that enables designers to preview their designs on multiple devices and test them simultaneously. It allows web designers to create websites using HTML, CSS and Javascript and ensure that they work properly on various devices and platforms. It is offered as a plugin for Android, iOS and Chrome on Windows and Mac OS X."

Back to Top of Page

JAVASCRIPT

...but I needed to turn my attention away from the Django blog and the new endeavors of Heroku and PostgreSQL and get back to learning the javascript. To make my drop-down menus work, Mark suggested reading the section on event objects in Javascript Programmer's Reference Manual ... but a reference book is just that, a reference book. There are a number of good free online tutorials to get started learning Javascript. I spent three days with Mozilla Developer Network , and Tizag, and then took a look at Codecademy, which has a web based code editor. (See a review by O'Reilly's Scott Gray)

JAVASCRIPT

Nodejs -for Javascript

Another tool to learn! - nodejs - an "event-driven I/O server-side JavaScript environment based on Google's V8 Javascript Engine for Chrome

JAVASCRIPT

NetBeans Javascript Editor (and IDE?)

Mark pointed out that it is time for me to use NetBeans because it will make my efforts so much easier.
"The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS.
Javascript editor features comprise - syntax highlighting, refactoring, code completion for native objects and functions, generation of JavaScript class skeletons, generation of Ajax callbacks from a template; and automatic browser compatibility checks.
CSS editor features comprise - code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

JAVASCRIPT

D3JS

Yet another tool to learn! - D3JS (D3 for Data-Driven Documents), a visualization framework for internet browsers running javascript, a JavaScript library "for manipulating documents based on data".
I added the reference link to my files and there are tutorials on github. Although it looks fascinating, it is not going to become an immediate pursuit.


JAVASCRIPT / TESTING

Test-Driven Javascript

Test-Driven Javascript Development, sample chapter


See a review in Slashdot

Back to Top of Page

TESTING

Selenuim

Time to turn my attention back to to learning Selenium.
The website eviltester.com, the author of Selenium Simplified (Feb 2012) looks like a good central source of references for getting started.
( A free electronic copy of the 2010 version of his book is available from online-selenium-trainings.webs.com, but I see that it is "A tutorial guide to using the Selenium API in Java with the JUnit framework, neither of which I'm endeavoring to learn.)
The new edition of another that he recommends, by David Burns, Selenium 2 Testing Tools: Beginner's Guide will be available Oct 19.
Amazon's bio states that David is "a Lead Software Engineer in Test at Mozilla ... also a core developer on the Selenium project maintaining the Python bindings and helping work on the Firefox components of Selenium. He is a keen developer and tester loving to automate anything and everything he comes across."


The very first step, is simply to learn to the Selenium IDE before attempting Selenium2. I did download and try this a few months ago.


I see too that there is a test management system for Selenium called Bromine (created by Camtasia Studio). It looks like it was developed to be used with RC (Selenium1) rather than Webdriver (Selenium 2), but I can't see if it has been updated, and so will take a bit more investigation.

PYTHON

NetworkX

NetworkX, is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. . This will not be a near-future pursuit.

USABILITY


UX Killed Usability March 2012

Fact Vs. Fiction: What Usability is Not Uxbooth.com, Feb 2012



Navigation

Sticky Menus are Quicker to Navigate Smashing Magazine, Sept 2012 ("Sticky, or fixed, navigation is basically a website menu that is locked into place so that it does not disappear when the user scrolls down the page)
Bread Crumb Navigation

Web Platform Docs

As of 10/9/2012: Web Platform Docs is
"a new community-driven site that aims to become a comprehensive and authoritative source for web developer documentation. Even though it is still in alpha, you can already find lots of valuable content on the site, including information on:

  • How to use features of the open web, with syntax and examples
  • What platforms and devices you can use various technologies on
  • What is the current standardization, stability and implementation status of each technology spec
  • In the future, Web Platform Docs will include even more content to explore such as live code examples, resources for educators and much more.
    To get there faster, we're inviting everyone contribute knowledge..."
In addition to sections for Concepts, Accessiblity, HTML, CSS, Javascript, and SVG,
it has a section for Beginners, which starts with a History of the Web, and How the Internet Works
The video introduciton given by Peter Lubbers on Oct 9 is avaialable at Introducing Web Platform Docs


Back to Top of Page

BOOKS - Women and Technology

After hearing a Lightning Talk called "Develop Your Voice", at a Women Who Code meetup, by a young woman who, after reading many books on subject of men and women communicating, has concluded that developing one's "voice" and learning to project it, is most important.

I compiled my own short list of books on this subject Women and Voice in Science and Technology, which continues to grow ...

BOOKS - Interface Design

Raye highly recommends this:

Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules

Early user interface (UI) practitioners were trained in cognitive psychology, from which UI design rules were based. But as the field evolves, designers enter the field from many disciplines. Practitioners today have enough experience in UI design that they have been exposed to design rules, but it is essential that they understand the psychology behind the rules in order to effectively apply them. In Designing with the Mind in Mind, Jeff Johnson, author of the best selling GUI Bloopers, provides designers with just enough background in perceptual and cognitive psychology that UI design guidelines make intuitive sense rather than being just a list of rules to follow.
• The first practical, all-in-one source for practitioners on user interface design rules and why, when and how to apply them.
• Provides just enough background into the reasoning behind interface design rules that practitioners can make informed decisions in every project.
• Gives practitioners the insight they need to make educated design decisions when confronted with tradeoffs, including competing design rules, time constrictions, or limited resources.

A lecture by the author, Jeff Johnson, given at Stanford in Oct 2010, The Psychological Basis for UI Design Rules, is available on YouTube:
Guest speaker Jeff Johnson of UI Wizards shares how design mentality has changed over the years and where it is heading in the future. He draws on experiences from his own career to give the students a better idea of the themes he is discussing.
He mentioned:
Coherence in Thought and Action: Life and Mind: Philosophical Issues in Biology and Psychology, by Paul Thagard (2002)
This book is an essay on how people make sense of each other and the world they live in.
Making sense is the activity of fitting something puzzling into a coherent pattern of mental representations that include concepts, beliefs, goals, and actions.
Paul Thagard proposes a general theory of coherence as the satisfaction of multiple interacting constraints, and discusses the theory's numerous psychological and philosophical applications.
Much of human cognition can be understood in terms of coherence as constraint satisfaction, and many of the central problems of philosophy can be given coherence-based solutions.
Thagard shows how coherence can help to unify psychology and philosophy, particularly when addressing questions of epistemology, metaphysics, ethics, politics, and aesthetics. He also shows how coherence can integrate cognition and emotion.

BOOKS - Git

I missed both PyLadies' meetups on git:
Get Good With Git: Intro to Git Workshop and Get Good with Git, Again! but I did download Git,
the open source version control system, and the book Pro Git, which is free from Amazon.

BOOKS - HTML5

All attendees of HTML5 Doris Chen's Education Day were given a choice of a free O'Reilly Ebook. I chose HTML5 Architecture: Building Apps for the Open Web, Early Release

BOOKS - Javascript

Mark's copy of Javascript Programmer's Reference Manual has been around the house for several years. we call it the "Bad Haircut Guy" book. I used to place a post-it on the cover over Axel White's image to avoid looking at his hair. I now have a free electronic copy and Mark's copy is in the bookshelf.

At Confident Coding II, I won a paper copy of Eloquent Javascript , which I'd already begun to read online.

Mark gave me a copy of another O'Reilly Javascript book, by Nicholas Zakas, Maintainable Javascript (pdf) Maintainable Javascript,
... and yet another: the famous and some say decisive, Douglas Crockford's Javascript, The Good Parts

cover=

All attendees of HTML5 Doris Chen's Education Day were given a choice of a free O'Reilly Ebook. Mark chose the Early Relase of Eric Elliot's Programming JavaScript Applications: Robust Web Architecture With Node, HTML5, and Modern JS Libraries

more BOOKS

Mark found at the library ...

higgins

onecode
  • Nets, Puzzles and Postmen: An Exploration of Mathematical Connections. "Higgins reveals that understanding networks can give us remarkable new insights into many of these puzzles as well as into a wide array of real-world phenomena. Higgins offers new perspectives on such familiar mathematical quandaries as the four-color map and the bridges of Konisberg. He poses the tantalizing question Can you walk through all the doors of the house just once?"

  • In Code: A Mathematical Journey by and about a teenaged Irish girl who, in 1999, was awarded Ireland's Young Scientist of the Year for her extraordinary research and discoveries in Internet cryptography

... and speaking of algorithms...

Beginning Algorithms (Wrox Beginning Guides) by Sam Harris and James Ross

Of course, too, are the books for the Algorithms course:

  • Algorithms, by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani
  • Algorithms, 4th ed., by Robert Sedgewick and Kevin Wayne
  • Introduction to Algorithms, 3rd ed., by Cormen, Leiserson, Rivest, Stein

... and more BOOKS - Python

... free from pythonbooks.revolutionet.com

  • Think Python: How to Think Like a Computer Scientist, 1st ed, Aug 2012, by Allen B.Downey.
    Beginner- a very exhaustive book covering most of the language features, from datatypes to OOP and debugging.

  • Think Complexity: Complexity Science and Computational Modeling , 1st ed, Feb 2012, by Allen B. Downey
    Advanced - about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science.

  • Think Stats: Probability and Statistics for Programmers , 1st ed, July 2011, by Allen B. Downey
    Advanced - an introduction to Probability and Statistics for Python programmers

  • Programming Computer Vision with Python: Tools and algorithms for analyzing images , 1st ed, June 2012, by Jan Erik Solem, [PDF DRAFT]
    Advanced - gives an entry point to hands-on computer vision (images, videos...) with enough understanding of the underlying theory and algorithms.


  • An introduction to Python, by John C. Lusth
    Beginner - A complete scholar overview of all Python 3 functionnalities..

  • Building skills in Python, by Steven F. Lot
    Beginner - This 450+ page book has 42 chapters that will help you build Python programming skills through a series of exercises. This book includes six projects from straight-forward to ....

  • Building skills in Programming: Programming for Non-Programmers - How to Write your own software usinig python , by Steven F. Lot
    Beginner - a series of simple exercises that teach programming fundamentals with an easy-to-use, easy-to-learn programming language.

  • Building skills in OOP, by Steven F. Lot
    Intermediate -vHow do you move from OO programming to OO design?
    This 301-page book has 49 chapters that will help you build OO design skills through the creation of a moderately complex family of ....



... also, interactive books, from Runestone Interactive, by Brad Miller and David Ranum

  • Problem Solving with Algorithms and Data Structures

  • How to Think Like a Computer Scientist - Learning with Python: Interactive Edition (Using Python 3.x)



Back to Top of Page

CODECADEMY

After the first five whole days with Codecademy, I could say it lives up to its growing reputation (see reviews in NYT, TechCrunch, WSJ, TNW)

There are five "Tracks", each of which is over 400 interactive exercises for beginners.
  • "Web Fundamentals (HTML/CSS)" (100% complete)
  • "Code Year (Javascript/HTML/CSS)" (56% complete)
  • "Javascript Fundamentals" (31% complete)
  • "jQuery" (9% complete)
  • "Python" (77% complete)
  • "Ruby" (6% complete) - - - ADDED IN OCT

Several dozen additional non-track courses are offered. As one review stated, codecademy uses a "gameified" approach, with points - one per exercise completed (I now have 668) that accumulate per day and overall, and achievement badges (I now have 48) such as:

FREE ONLINE COURSES


2012 is the year of a new kind of FREE online education:
Coursera, which began at Stanford, and now includes 15 other top universities (Princeton, CalTech, Duke, Johns Hopkins, Michigan, Penn, Edinburgh .. ).See the website for al list of reviews and articles.
Udacity, started by Stanford professor Sebastian Thrun, and now, EdX, founded by Harvard and MIT and joined by Berkeley.
(See Harvard and MIT Launch Virtual Learning Initiative EdX and One Course, 150,000 Students).
Coursera offers certificates of completion. EdX announced in Sept that it will offer proctored exam testing through PearsonVue for which there is at least one test center in CA.
There is a Facebook group with over 500 members, CompScisters, for women students Udacity, Coursera, and MITx

coursera.org

    • Computer Science 101, Nick Parlente- Stanford (April 23, 6 wks)

    • Algorithms Design and Analysis I, Tim Roughgarden- Stanford (June 11, 6 wks) )
    • Internet History, Technology, and Security , Charles Severance- Michigan (July 23, 7 wks)
    • Interactive Programming in Python, Warren, Rixner, Greiner, Wong - Rice (Oct 15, 8 wks)
    • Introduction to Databases, Jennifer Widom - Stanford (Self Study Mode, 7 wks)


edx.org

    • CS50 Introduction to Computer Science - Harvard (Oct 15 - April 15) David Malan's famous CS50

      Topics include abstraction, algorithms, data structures, encapsulation, resource management, security,
      software engineering, and web development.
      Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML.
      Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.

      As of Fall 2012, the on-campus version of CS50 is Harvard's largest course
      An article about David Malan and what he's done with CS50 is
      CS50 Harvard Most Rewarding Class I Have Taken .. Ever



udacity robot udacity.com

    • CS 215- Algorithms, Crunching Socail Networks, Michael Littman -Brown (when I can)
    • CS 253- Web Application Engineering, Steve Huffman, David Evans - UVA (when I can)
    • CS 258- Software Testing: How to Make Software Fail , John Regehr - UU (when I can)

There is also Khan Academy, to which I've paid little attention One Man, One Computer, 10 Million Students - How Khan Academy is Reinventing Education

NOT-FREE PROGRAM


"It's a 10 week training program designed to help women become awesome programmers.
We teach the fundamentals of modern web development, then introduce you to Silicon Valley
companies looking to expand their engineering teams.
12 women graduatedon Aug 24. See an article in Forbes, Sept 10, 2012 After 10-Week Python Training Program, Women Engineers Receive Job Offers From Silicon Valley Startups (See also The Road to Gender Balance in Tech is Paved with Code)

From the bit I've read and been told, the for-women program at Hackbright Academy is quite good: It does cose $7500 ($6000 if paid up-front) and is full time, 10a-6p for 10 weeks, near the 24th/Mission Bart Station in SF
(46 min train ride, $10.20 round trip- so would be would be an additional $510 for me)
One must apply and be accepted. They are currently accepting applications for Spring 2013.

Here is what you will learn.
  • Python and its associated web frameworks
  • Pair programming
  • Git and source control
  • SQL and ORMs, and NoSQL
  • HTML, CSS, JS, Ajax, and WebSockets
  • Deploying into GAE (Google App Engine) and EC2 (Amazon Elastic Compute Cloud)
  • Terminal shells, grep, netcat, and other *nix command-line fu
  • Message queues, batch processing, distributed processing
  • Why some nerds really love lisp, vim, and emacs
  • Interview skills

Somehow, I overlooked and missed the July 26 PyLadies@Hackbright Hack Night (30 attended)


Click here!

Back to Top of Page

GROUPS and ASSOCIATIONS

  • PyLadies
  • Women Who Code
  • CompScisters
  • Women 2.0
  • CodeChix
  • DevChix
  • Girl Develop It, SF
  • Systers
  • Anita Borg Institute for Women in Technology
  • Women in Information Technology Group

Written by Jean Harte