A Textbook Review By Alan Payne, A Computer Science Teacher:
“What is “Programming Home Projects with Microsoft Small Basic” and how it works.
These lessons are a highly organized and well-indexed set of lessons in the Microsoft Small Basic programming environment. They are written for the new and the initiated programmer: the beginner with little to no computer programming experience, and the college or university-bound student seeking to advance their computer science repertoire on their own. Skilled programmers and beginners alike benefit from the style of presentation of these Kidware Software tutorials.
Microsoft’s new Small Basic is a simplified version of the many BASIC (Basic All-Purpose Symbolic Instruction Code) programming languages of the past. Small Basic has only 14 keywords (premised upon pre-existing classes) – each providing their own set of commands (methods) and variants (overloads).
The Small Basic language is simple enough to allow programs to be written with keyboard driven input and text-only output, but powerful enough to create eye-catching graphical user interface (GUI) applications where input may come from a keyboard, a mouse, or a touch-screen.
The Small Basic programming environment is very user-friendly – providing a context-sensitive command reference, so that the user learns the commands while typing. Each command has help on the side-bar providing an explanation of the syntax and the options available in order to complete the command. While the Small Basic environment is ideal for the youngest programmer, these tutorials are written to provide the best foundation to learn programming concepts in Computer Science – regardless of the language.
While full solutions are provided, practical projects are presented in an easy-to-follow set of lessons explaining the rational for the solution – the layout of the GUI, coding design and conventions, and specific code related to the problem. The learner may follow the tutorials at their own pace while focusing upon context relevant information.
The finished product is the reward, but the student is fully engaged and enriched by the process. This kind of learning is often the focus of teacher training at the highest level. Every Computer Science teacher and self-taught learner knows what a great deal of work is required for projects to work in this manner, and with these tutorials, the work is done by an author who understands the adult need for streamlined learning.
Graduated Lessons for Every Project.
Graduated Learning. Increasing and appropriate difficulty. Great results. By presenting Home Projects in this graduated manner, students are fully engaged and appropriately challenged to become independent thinkers who can come up with their own project ideas and design their own forms and do their own coding. Once the problem-solving process is learned, then student engagement is unlimited! Students literally cannot get enough of what is being presented.
These projects encourage accelerated learning – in the sense that they provide an enriched environment to learn Computer Science, but they also encourage accelerating learning because students cannot put the lessons away once they start! Computer Science provides this unique opportunity to challenge students, and it is a great testament to the authors that they are successful in achieving such levels of engagement with consistency.
My history with the Kidware Software products.
As a learner who just wants to get down to business, these lessons match my learning style. I do not waste valuable time ensconced in language reference libraries for programming environments and help screens which can never be fully remembered! With every Home Project, the pathway to learning is clear and immediate, and the topics in Computer Science remain current, relevant and challenging.
Some of the topics covered in these tutorials include:
- Overview of Small Basic Programming and the Environment, including…
- Data Types and Ranges
- Scope of Variables
- Naming Conventions
- Arithmetic, Comparison and Logical Operators
- String Functions, Dates and Times, Random Numbers,
- Decision Making (Selections)
- Language Functions – String, Date, Numerical
- Writing Your own Subroutines
- Sequential File Access, Error-Handling and Debugging techniques
- Sharing a Small Basic Program (in the Appendix)
and more… it’s all integrated into the Home Projects.
The specific Home Projects include:
- Dual-Mode Stopwatch Project
- Consumer Loan Assistant Project
- Flash Card Math Quiz Project
- Multiple Choice Exam Project
- Black Jack Card Game Project
- Weight Monitor Project
- Home Inventory Manager Project
- Snowball Toss Game Project
Quick learning curve by Contextualized Learning
“Programming Home Projects with Small Basic” encourages contextualized, self-guided learning.
Once a project idea is introduced, then the process of laying out the GUI, naming controls and coding is mastered with Small Basic objects. Then, it is much more likely that students create their own projects and solutions from scratch. This is the pattern of learning for any language!
Students may trust the order of presentation in order to have sufficient background information for every project. But the lessons are also highly indexed, so that students may pick and choose projects if limited by time.
Materials already condense what is available in the Small Basic context-sensitive help, so that students remember what they learn.
Meet Different State and Provincial Curriculum Expectations and More
Different states and provinces have their own curriculum requirements for Computer Science. With the Kidware Software products, you may pick and choose from Home Projects which best suit your learning needs. Learners focus upon design stages and sound problem-solving techniques from a Computer Science perspective. In doing so, they become independent problem-solvers, and will exceed the curricular requirements of elementary and secondary schools everywhere.
Computer Science topics not explicitly covered in tutorials can be added at the learner’s discretion. The language – whether it is Small Basic, Visual Basic, Visual C#, Visual C++, or Console Java, Java GUI, etc… is really up to the individual learner !
Lessons encourage your own programming extensions.
Once Computer Science concepts are learned, it is difficult to NOT know how to extend the learning to your own Home Projects and beyond!
Having my own projects in one language, such as Small Basic, I know that I could easily adapt them to other languages once I have studied the Kidware Software tutorials. I do not believe there is any other reference material out there which would cause me to make the same claim! In fact, I know there is not as I have spent over a decade looking!
Having used Kidware Software tutorials for the past decade, I have been successful at the expansion of my own learning to other platforms such as XNA for the Xbox, or the latest developer suites for tablets and phones. I thank Kidware Software and its authors for continuing to stand for what is right in the teaching methodologies which not only inspire, but propel the self-guided learner through what can be a highly intelligible landscape of opportunities.”