At Shrinking World Solutions, we believe that learning about technology should lead to
skills that can be immediately applied
to real-world projects. Therefore the techniques that are used in the learning process must be
updated to match the needs of modern students.
The Key Differences
There are several aspects that define our approach to learning and are a radical departure from
other training that is available.
- Hands-on - All learning is immediately applied. Programming skills come from doing
programming. Students must
immediately applied the concepts in order for them to be retained.
- Projects - A realistic project forces students to make choices and overcome errors to produce
the desired result. After completing the 14 projects in this course the student is ready to
build projects for their job. All grading for this course is done based on the projects rather than
exams or quizzes.
- Running Examples - A simple example is provided for every concept. The most difficult thing
about learning to program is getting the first version running. After seeing the simple example
run students can quickly make extensions and refinements to it.
- Reading before Writing - Students must learn how to read and understand code from others
before they can be expected to write their own code. Each project start with running code and
requires the students to add functionality making modifications to the starting solution. A
cookbook can give people a quick win that will allow them to learn additional information as
- Design Reviews - In commercial software development teams, each person is responsible for
their own work. In addition they are required to give feedback and assistance to other members
of the team. Design reviews allow each student to critique the work of others and have their own
work judged. This often produces very productive interaction between the learners. A teacher can
review all of the feedback from the reviews for each project and can work with any issues that
the team member have with each other. This also produces valuable learning for the students.
- Requirements - Each project is authored to look for ten requirements. These objective and
measurable criteria are used to set the score for the project. Design review feedback is used
to establish the number of requirements that are met for each project.
- Software Tools - The Sensei Digital Classroom Software provide outstanding automation for
the whole learning experience. Sensei support classroom presentation of slides and lessons content
for review. Student IDs are used to protect the privacy of each students homework assignments.
All upcoming reviews, projects, skills, and readings are posted on each students dashboard.
The progress of each project for each student is tracked by the software.
- Design Pattern - Great software is based on Design Patterns. Understanding and using the
relevant patterns in any given context is an essential engineering skill. Yet this is sadly
neglected in most college classes.