“As a programmer, a long-time college professor, and as the former head of the Computer, Engineering, and Business Department, I have reviewed countless programming books for most of the popular programming languages. “Learn Visual C#” by Philip Conrod and Lou Tylee is my favorite. The order in which the topics are presented is very easy for students to follow. The transitions from one topic to the next are so smooth it doesn’t feel like steps but just a continuously smooth flow from start to finish. Object-oriented programming (OOP) is often difficult to explain to new programmers and most books give it no consideration until the second half of the book. The authors have made OOP clear, logical, and astonishingly easy to understand and they have successfully presented it in the third chapter…it is absolute genius. Consequently, every topic after that is much clearer and relevant to students. The examples in the book are interesting and easy to follow. I have worked through all of them line by line and found them easy to follow and replicate. Students quickly become frustrated with examples that contain errors so the fact that these work so well is critically important to the success of every student. Topics included in “Learn Visual C#” are date, time, and financial calculations which are lacking in most first year programming books. I really appreciate the chapters that include business graphics for pie and bar charts and general graphics applied to multimedia.
The authors use code to access databases instead of the Visual Studio wizards. This gives the students a much better understanding of how databases work and how to program their interactions. Consequently, that also makes the eventual use of the database wizards less of a mystery and gives the student far more confidence in their application. The useful topics in the examples and the well written explanations make this my favorite book for learning Visual C# programming so it is with absolute confidence that I recommend this book to you.
– David B. Taylor, B.S.E.T., M.A.Ed., Ed.S. Former Professor and Department Chair Computer, Engineering, and Business Seminole State College Sanford, Florida
“What is “Learn Visual C#” and How It Works”
These lessons are a highly organized and well-indexed set of lessons in the Visual C# programming environment. They are written for the initiated programmer – the college or university student seeking to advance their computer science repertoire on their own. The applications are practical, but the learning has far-reaching consequences in the student’s computer science career.
While full solutions are provided, the projects are presented in an easy-to-follow set of lessons explaining the rational for the solution – the form layout, 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 adult 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 … Lessons, examples, problems and projects. Graduated learning. Increasing and appropriate difficulty… Great results.
With these projects, there are lessons providing a comprehensive background on the programming topics to be covered. Once understood, concepts are easily applicable to a variety of applications. Then, specific examples are drawn out so that a learner can practice with the Visual C# form designer. Conventions relating to event-driven programming, naming controls and the scope of variables are explained. Then specific coding for the example is provided so that the user can see all the parts of the project come together for the finished product.
After the example is completed, then short problems challenge the user to repeat the process on their own, and finally, exercises provide a “summative” for the unit.
By presenting lessons in this graduated manner, adult 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 process is learned, then student engagement is unlimited! I have seen even adult student literacy improve dramatically when students cannot get enough of what is being presented.
Indeed, lessons 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.
How independent learners use the materials.
The style of presentation (lessons, examples, problems, exercises) encourages self-guided learning. 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 from MSDN so that students remember what they learn.
My history with the Kidware Software products.
I have used single license or shareware versions for over a decade to keep up my own learning as a Secondary School teacher of advanced Computer Science. 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 project, the pathway to learning is clear and immediate, though the topics in Computer Science remain current, relevant and challenging.
Some of the topics covered in these tutorials include:
- Data Types and Ranges
- Scope of Variables
- Naming Conventions
- Decision Making
- Language Functions – String, Date, Numerical
- Arrays, Control Arrays
- Writing Your own Methods and Classes
- Windows Application Design and Distribution
- Sequential File Access, Error-Handling and Debugging techniques
- Graphics and Multimedia applications
- Visual C# Database and Web Applications
- and more… it’s all integrated into the tutorials.
Any further advanced topics in post-secondary computing (advanced data structures such as Lists and Linked Lists, Stacks, Queues, Binary Trees, etc…) derive directly from those listed above. Nothing is forgotten. All can be extrapolated from the lessons provided.
Quick learning curve by Contextualized Learning
Having projects completed ahead of time encourages Contextualized Learning. Once a problem statement is understood, then the process of form-design, naming controls and coding is mastered for a given set of Visual C# controls. Then, it is much more likely that students create their own problems and solutions from scratch. This is the pattern of learning for any language!
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 have at your disposal a series of projects which will allow you to pick and choose from among those which best suit your learning needs. Students 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 secondary and post-secondary schools everywhere.
Computer Science topics not explicitly covered in tutorials can be added at the learner’s discretion. For example, recursive functions could be dealt with in a project which calculates factorials, permutations and combinations with a few text boxes and buttons on a form. Students learn to process information by collecting it in text boxes, and they learn to code command buttons. The language – whether it is 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 concepts are learned, it is difficult to NOT know what to do for your own projects.
Having my own projects in one language, such as Visual C#, 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 of 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 an intelligible landscape of opportunities.”
Alan Payne, B.A.H. , B.Ed.
Computer Science Teacher
T.A. Blakelock High School