Remember passwords using an algorithm

At this point in the information age, our personal digitals tools, data and valuable resources are often protected by a username and password combination. Maybe this will change in the future but currently, the task of remembering dozens or hundreds of passwords is a challenge.

Many people I know use one, or just a few, passwords for all of their accounts. While easier to manage, the well known problem with this approach is that if someone with malicious intent discovers one of those passwords, it will unlock a long list of your accounts.

passwordimage

I’ve never liked writing down my passwords or using special software to securely organize my passwords because they could be lost, they have to be kept up-to-date and managed, and possibly they could be stolen (which means the thief has access to everything).

The strategy that I use, and one that I shared last week with a teacher and his students, is the approach of using an algorithm so that a unique and strong password can be generated on an as needed basis for any web site you are using. Then, you will only ever need to remember one thing, the algorithm, which is the process of remaking any of your passwords… months or even years into the future.

To illustrate this point, let’s create a very simple algorithm to generate passwords. In this example, the result of each instruction appears in bold after the instruction (we will use an account you might have on google.com in the example below)

  1. Write in lowercase the first, third and last letter from the unique part of the domain name (in this case the “google” part of google.com):
       Password so far: goe
  2. Count the number of vowels in that unique name and add a zero in the tens column if it is only one digit; write the two digits:
       Password so far: goe03
  3. Take what you have written so far and write it again
       Password so far: geo03geo03

That is now your algorithmically created password for your account at google.com. Using the above algorithm, if you had an account on amazon, your password is: aan03aan03. You might be thinking, “I have five Google accounts! They’d all be the same!” In that case, see below.

I wouldn’t recommend the above algorithm. It’s not a very strong password. If you are going to use the algorithm method, you should create an algorithm that builds a very strong password.

Let’s say you want a password that is 10+ characters long, has lowercase and uppercase letters, numbers, and symbols. Again, let’s use the google.com example and say your username/email on that account is example2017@gmail.com. Here is an algorithm that produces a strong password according to https://password.kaspersky.com/

  1. Write in lowercase the first, third and last letter from the unique part of the domain name
       Password so far: goe
  2. Count the number of total number vowels in the that unique name. Find that number on the number pad on your computer keyboard. Push shift and hit that number and the one after to add two symbols (if there are more than 10 vowels, return back to one again)
       Password so far: goe#$
  3. Count the number of vowels in the that unique name and add a zero in the tens column if it is only one digit; write the two digits
       Password so far: goe#$03
  4. Write the first three letters again of the password so far but in reverse order and in uppercase
       Password so far: goe#$03EOG
  5. Take the first three letters of your google username and add to the end
       Password so far: goe#$EOG03exa

According to https://password.kaspersky.com/ it will take a bruteforce attack about 33 centuries to crack that password. Not bad…

If anyone figures out, discovers, or somehow steals this password, then they can only get into that account. If they try it with any other account, it won’t work of course because it is unique for that site and account.

Neither of these is close to the algorithm I use… there are lots of ways to look at letters, numbers, keyboard, symbols, and so forth. And it’s fun to make one up that your like and that works for you. Just make sure that it’s not too complicated or else you might not be able to remake the password in your head.

And if remembering a somewhat complicated algorithm seems more daunting than remembering a few passwords, just remember that that is all you will have to remember once you start to use it and after you change the password on your accounts. And, you’ll have a unique and strong password for every site/tool you use.

Learning Design by Making Games

One of my favourite chapters in Constructionism in Practice was written by Yasmin KafaiLearning Design by Making Games (pp. 71-123). She was interested in learning more about the development of children’s design strategies within the context of creating an authentic artifact – a computer game.

Children were asked to design and create an interactive computer game that made the learning of fraction concepts fun and easy for younger children. It was a six month project that was self-directed, personally meaningful and cognitively complex. Students not only learned about the concept of design from the management of their projects but also learned through design about teaching, feedback, learning, mathematics, psychology, and problem solving. One of Kafai’s main research questions focused on discovering how students overcame various problems they faced over the months as they cycled through the many iterations of their interactive computer games.

I was inspired by this study and found a willing teacher collaborator and class of 23 students to embark on our own journey of design, creativity, and coding. In our case, a class of grade 4/5 students in Brampton are using Scratch to design their interactive games. As the winter break approaches, they are coming to the end of the initial phase of the project: building up basic a literacy and proficiency in Scratch. Students have been engaged in creating games or other programs over the last two months. The boy I highlighted in my previous post is one of those students.

In the new year, they will be challenged with a complex task that closely mirrors that of Kafai’s study: designing an interactive game using Scratch to make the learning of fractions easy and fun for younger students.

Like Kafai, we are interested in seeing how students tackle the design problems and we are looking forward to regular sharing and discussion sessions between students. There will be monthly visits from younger students in the school to try out early versions of the games and provide feedback. We are also interested in observing and hearing student reflections regarding the development of their computational thinking over the next six months. We will be helping students make connections between their projects and the many mathematical processes and curriculum expectations that also will be involved.

I will be posting roughly once per month about this project. Stay tuned…

Mathland Reflections – Game Design

One of my blogging goals is to share more often about coding to learn experiences of the students I am working with at various schools. Case in point, on Friday, some grade 5 students were hard at work during their fourth session (our first was October 3) of game design using Scratch. In January, they will be challenged with a larger game-design project but, for now, they control all parameters of their game.

One student was starting to program a new game inspired by the slither.io growing snake game. He had the user interface complete (arrows controlled the movement of the snake) and was starting to work on how to make the snake grow longer after bits of food were consumed. (A copy of his project as it was on Friday is here.)

During the 60 minute session, I checked in with him four times. I was well aware of what he was trying to accomplish and sometimes we discussed new ideas or how certain blocks might work within the context of his goal. I recorded some video during the final conversation we had.

He is still in the early stages of designing and coding his game but he figured out a number of conditions needed to make the snake grow in size and have the body follow along in the direction the head was going. In so doing, he talked about variables, Cartesian coordinates, decimal magnitudes, and various problem solving strategies.

dec-2016

Snapshot of the code discussed in the video below

The reflections he shares in the video below illustrate quite well what I often see when coding is used by students in a meaningful and powerful way, over the long term, and used as a means to learn concepts and visualize ideas. You can hear various mathematical concepts and processes that were applied simultaneously and all within the context of a single goal, which he set for himself, during this session.

Turn the “Hour of Code” into the “Year of Learning”

It’s great that so many students and teachers I know, and many whom I do not know (but am aware of via Twitter) are checking out code.org or other hour of code sites next week. There are so many great resources that always result in a fantastically exciting hour for students.

Coding has become the current term of choice to describe computer programming and/or computational thinking in education. My hope and suggestion is to let your hour of code experience represent the lighting of a flame that continues to burn for the entire year. Allow more (and regular) time for students to continue to explore coding. Design learning projects and activities that help them use coding to explore concepts and express ideas.

Coding is a highly effective method by which students can organize complex ideas and processes into visible, movable, discussable, shareable chunks of thought on a screen. In so doing, problems can be solved, games can be designed, concepts can be explored, art can be created, stories can be told, movements can be modeled, and most of all, excitement about an idea that is born in a child’s mind can be immediately put into action in their project.

Learning to code might be a cool goal but learning through coding is an incredibly powerful learning pathway which has been around for decades and has been, and continues to be, tried, tested, and proven effective.

I’ve started in a small way to contribute some examples of ways in which learning through coding can take place. I curate a Scratch Studio called Mathland Challenges and currently have 14 example projects with embedded challenges with direct connections to Ontario curricula:

mathchal

Why do you want kids to code?

why-coding-coding-to-learn

I made this because I think there is an important distinction between learning to code and coding to learn.  I think the focus with students doing coding in schools should be coding to learn. Bill Ferriter’s graphic called what do you want kids to do with technology was the inspiration for my graphic. I created this for the same reasons he created his. Coding affords a means through which some incredibly powerful thinking, making and learning can take place.

I am of two minds regarding the current fascination with the use of coding in education worldwide. I like the attention programming is once again getting in schools and I like that teachers and students are exploring it in a serious way. However, much of that attention is preoccupied with efforts to help students to learn to code. I think the focus in education should be the coding to learn goals listed in the green-blocks, not learning to code blue-blocks ones. Of course, just because the educational focus is on the green-block goals, that doesn’t mean concepts in the blue-blocks won’t be learned. The difference lies in the intention and emphasis behind students coding in schools.

I’ve blogged about it before and I am still troubled by the hype surrounding coding right now. If the goal is let’s get students learning code then my question is why? What is the purpose of those coding activities? There is large body of research, conducted over many decades, exploring powerful learning processes through coding and designing (e.g. 1, 2, 3). That’s nothing new. But if we are getting kids coding because code.org says they should, or we need to fill a future skills gap, then I think the most powerful aspect of children coding gets lost.

Why play? Why inquiry?

constructionism-in-pracI’m reading this book. It’s hard, but it’s fun. I’m playing around with the ideas and it’s making me think a lot about teaching, learning, playing, and knowledge.

Play, making, exploring, inquiry-based learning, problem-based learning, project-based learning, maker spaces, and so on… these are all justifiable reactions against the arbitrary segregation of various subject matter in our curriculum. As teachers and learners, we know real knowledge is practical and personal and situated the very experiences that created the knowledge in the first place.

Disconnected knowledge is quickly forgotten. You probably remember the rooms you wrote your exams in better than what you wrote, right? Good teachers know that “learning by doing and making and playing” is not just a cliché; it is the essence of real, useful, practical, sticky knowledge. MIT has a graduate work group called the “Lifelong Kindergarten Group.” They’re on to something with that name.

Our precious early years of play should not give way to more and more so called “formal learning” or whatever euphemism you want to use. Sure, 7-year-olds will play with different things in a different way for different reasons than a 3-year-old, and a 9 or 12-year-old will play differently still.

I think the very essence of play is the process by which we, at any age, root our knowledge in experiences, and then connect new experience to our knowledge. I am playing right now as I write this. It’s fun; I am learning; I am sharing something I think is valuable; I am hoping to talk to people about these ideas; my new understandings will inform and guide my future interactions with students. It’s all interconnected and has value to me and is important to what I feel my purpose as an educator is. This isn’t an earth shattering idea but it is essential I think that we, as educators, embrace what play really is.

Play still has a negative connotation when applied, it would seem, to anyone other than a child. But play is a viable, defendable, powerful learning strategy useful at every age. I think educators are expanding our concept of play to include all things that we do that involve creating, making, designing, expressing, connecting, and growing.

I think all of the wonderful terms for strategies we are currently using – making, exploring, inquiry-based learning, problem-based learning, project-based learning, maker spaces, etc. – are just other ways of saying play and we are using them because we are expanding what play means and the role it has in powerful learning.

 

Teaching as a creative act

I think children learn best within a social environment in which the group of people genuinely know and care about each other. I strongly feel that this forms the foundation for the most successful classrooms. To me, Rita Pierson in her 2013 TED talk described the need for relationships in education most clearly and passionately: “Every child deserves a champion; an adult who will never give up on them,” she said and teachers have the opportunity every day to do just that.

I see relationships and learning as very closely related; both are creative acts. They are creative because every day they need to be nurtured, utilized, examined, improved, and remade. The heart of constructivism is that knowledge, skills and values are built over time in socially safe and growth-focused environments. Knowledge building is never done. Very new knowledge is often very wrong; take for example a young child’s explanation of wind: “wind is made by trees as they wave back and forth.” As we experience more, play more, talk with others, and as we make things and share things, knowledge gets improved; it becomes more accurate or sophisticated.

Highly effective teaching involves creating the conditions for learning and exploring that are not only developmentally appropriate but also are respectful of children’s personalities, passions, and dreams. Sir Ken Robinson said in his 2010 TED talk: “And every day, everywhere, our children spread their dreams beneath our feet. And we should tread softly.” I can’t think of a better reminder of the awesome responsibility of parents and teachers than this statement.

Thanks to @MatthewOldridge for this blog challenge!

Can expertise cause bias?

Can expertise cause bias in such a way that it prevents an expert from looking at new ideas with an authentically open mind?

I was inspired after reading this blog post about “calling BS” on educational bandwagons, trends and fads. It struck me after reading Dean’s post that, while I highly value the usefulness of skepticism, I wondered if I have put enough mental energy into exploring, in an authentic way, new creative ideas and innovations in education.

Don’t misunderstand; I think creativity and criticism are equally important in a highly complex professional endeavor such as education. My point is that I want to highlight two traps I have fallen into at times. First, I often jump quickly to questioning the validity and efficacy of new ideas in education, or even established ideas. Second, I often do not spend enough time and effort exploring new ideas in education, or even established ideas.

My guess is that both of these problems are not that uncommon in other educators as well. Not trying to sound clever, but I wonder if jumping quickly to skepticism is a sort of bandwagon, too. It can become fairly natural to develop and maintain a strong, questioning stance in the face of the continuous stream of educational ideas in blogs, books, papers, courses, and talks. Additionally, I wonder how well anyone can maintain a comprehensive knowledge of new (and old) ideas, theories, and other innovations in education.

I think I am quite well-versed in a dozen or so big ideas/theories but I freely admit that I have limited knowledge of many hundreds of others. Simple awareness or superficial understanding is not difficult. But true, in-depth knowledge takes time and effort. I don’t think anyone can have total depth or breadth but I think depth and breadth can, and should, be pushed.

mead

Could the same be said of education?

Herein lays one of my key professional growth areas for this new school year. My theory is that my set of core beliefs and values, knowledge and skills is causing bias. I’m not talking about the normal epistemological bias that comes from professional practice, reflection, and developing competence. Rather, I am wondering if that core is making me jump to skepticism too quickly when facing new educational ideas and innovations. I am guessing that this is the case, probably more often than not. So, I want to start this year with the goal of letting more ideas pass through the critical filter so they can be examined with more of an open mind. I’m not saying that my core beliefs need to change; I am saying that I think I need to be more open to allowing for change.

Spiraling cycle of design in Scratch (#peel21st April 2016 blog hop)

This blog hop topic of ‘design’ could not have come at a better time. Students and I are in the midst of designing a game called ‘Peela’ or ‘The Yellow Bug’ game in Scratch (click to try it). This project serves as an example, challenge and provocation for students. There are so many decisions that go into designing a fun game: the user interface, the goal(s) of the game, how does the game require player skill, difficulty-based levels, balancing success and failure in user attempts to seek a high score, sense of fun and excitement, appealing graphics, sounds, music, rewards, and so on!

scratchchall

I think game design is an outstanding opportunity for students to engage in and be engaged by a spiraling cycle of design / critical-creative thinking process. I fully subscribe to the ‘Kindergarten learning approach’ espoused by Mitch Resnick (concisely outlined in his 2007 paper).

design_graphic

To me, game design affords students the opportunity to engage in a goal-directed project that is fun but hard, invites feedback and collaboration, involves continuous problem solving, and embraces a highly creative process. The learning is rewarding and brimming over with the development of quality knowledge building and skill development. Scratch is an ideal programming environment because it has been designed from the start to support a spiraling design thinking process while remaining very accessible and functional to young children.

This post is one of many in the April 2016 #peel21st blog hop. Check out the other posts:

What does global citizenship mean to you?

Recently, the Ontario Ministry of Education released “21st Century Competencies: Foundation Document for Discussion.” I think that the outlined skills on page 56 in the 6th box called ‘global citizenship’ are excellent:

global
I also really like the way the Asia Society discusses global competence.  Essentially, their central idea is that knowledge and skills that are explored and learned need to be explored and learned from a variety of cultural perspectives in order for students to be globally literate. I am not entirely certain that the 6th box pictured above really captures that idea. (An excellent reference document called Educating for Global Competence is available on the Asia Society web site.)

That is, in order to gain a more balanced, inclusive global perspective, developmentally appropriate strategies should be employed to help students to weigh perspectives, to understand and communicate to different cultural audiences, to confidently take actions to improve people and the environment, and to remain a lifelong learner who can continuously adapt and empathize with an always changing and evolving global society.

I’ve just finished reading an excellent book, called Four-Dimensional Education, that embraces this view and also proposes a workable, four-part framework for curriculum redesign. If you are ready for an in-depth examination, check it out!

4dimed - Copy

This post is part of the #peel21st March blog hop! Please check out the other great blog posts in this hop: