As an educator and mentor with a strong software engineering background, and a life-long passion for learning and teaching computer science (CS) and technology, I am always excited about opportunities to engage students, and make learning CS and programming more personally meaningful, effective, and fun!
I continuously try to create opportunities to ignite the love for life-long learning in students, and constantly look for opportunities to support curiosity and motivation in intellectually rich ways, leading to learners’ personal development and fulfilling career choices, as well as to the improvement of society.
Computational Thinking and Literacy are becoming increasingly important in today’s society and will become even more critical in the world of tomorrow 1. Designing and teaching CS courses enables me to expose and explore with students some important “Big Ideas” such as, the creativity involved in Computing; approaches to, and processes for problem solving; connections between, and impact of Computing on other knowledge domains like science, math, art, economics, and ethics.
CS should definitely teach students to program, in possibly more than one programming language, for somewhat similar reasons to teaching foreign languages 2. CS courses should and can teach them to be good at it, enjoy it, and be creative about it. But CS is much more than programming, and the effort of helping students realize, explore, and get a firm grasp on some of these key concepts and skills is very exciting to me (and to the students!).
Over the years I have been designing courses and teaching learners of all ages about computing and programming, and found a few principles that work well for myself and many other learners. For example:
Learning is significantly more effective if/when students engage in highly relevant, personally meaningful, hands-on projects, ideally working on building a portfolio, so that the students as well as others can reflect on, and analyze progress and accomplishments. Also, CS projects provide excellent opportunities to develop teamwork, collaboration and communication skills. Emphasizing both the Computing artifacts and the effective ways to create, analyze and communicate the processes and impacts involved, enhance and accelerate learning and enjoyment.
I have seen these principles working and propelling learners to become proficient, and as importantly, excited creators, leaders, and thinkers, who love what they do, and spread around their enthusiasm. I’ve also observed the deepening of their understanding and abilities to “think computationally” and be creative about problem solving as well as artwork/artifacts.
I have loved the ability to be part of this exciting journey for learners, and hope to be able to do this for many years to come.
1 - "Program or be programmed" - Douglas Rushkoff
2 - "A (programming) language that doesn't affect the way you think about life (and problem solving), is not worth knowing." - Haggai Mark (paraphrasing Alan Perlis)