Why do we need tutors for online courses?

I work as a tutor for an online training provider and we are often asked, “what is the point of a tutor if they are working online?” In this article, I aim to answer that question. Obviously, it is futile to imply that we are necessary for a student’s success in passing their exams, but I do believe we do play a valuable part in their success and satisfaction. It has certainly been my experience that the greater the interaction with the tutor, the greater the chances the student will have a better experience with the course and, therefore, more likely to pass the first time. Where an online course can often fail, is in contextualising the content and making it relevant to the student’s experience and prior knowledge. By getting to know the student, even if it is through a few emails, we can really help them relate their learning to real-world examples and contextualise the technologies they encounter, both in the course and in the real world.

It is also important to give assurances and confirmation of the students learning journey. Creating confidence in the student’s ability to learn is a crucial foundation for building trust between the student and the information they are learning from the course. The sterile environment of non-contextualised learning online can really be enhanced by human interaction and affirmation. Without, the student can feel alone and unsure they are actually learning. Uncertainty and isolation can lead to failure to finish the course and create an adverse learning journey they will put them off future learning. It doesn’t have to be an isolated negative learning journey, it can be turned around by tutor support.

I could cite hundreds of articles that posit we tend to learn in different ways and in different styles – visual, aural, verbal, physical, logical, social and solitary. Granted, online learning covers much of that, and video tutorials can also cover many of those styles that text-based learning cannot. I would like to add an eighth style – contextualised. The majority of the exams for CompTIA, CIW, and Microsoft are based on the technologies they cover and how to implement them correctly as a solution to a problem. They are not about learning the meanings of acronyms and answering verbatim what they have read. If you are unfamiliar with the technologies you are learning, it is very difficult to contextualise why and when you would employ certain technologies with other technologies to solve the problem. In learning what an acronym can do and why we would use it, the meaning will become apparent in a multiple-choice question anyway. Let’s face it, how many “professionals” remember the exact meaning of all those acronyms they use daily? But, we all know how to use them and when to use them.

To “contextualize something [is] to consider something in relation to the situation in which it happens or exists (Oxford Learners Dictionary).

I have taught all age groups and abilities during my time as lecturer, teacher and now a tutor and I can safely say the most challenging and yet rewarding part was contextualising the learning journey. For me, code is a prime example. Every student wants to dive head first into code and get things going by building the next breakthrough app. Some students can just do this, but most cannot and will falter because they do not understand the theory, structure, and context. Every program is based on an algorithm of some sort. Even if you do not take the time to build an algorithm, one can be applied to the code. I think it essential that students at least understand the principals of algorithms and structure before they code. The program needs reason and it needs context or you just start building unstructured code. If you understand the basics of an algorithm, you understand the blocks and the separate functions/components needed to construct well-formed code. A tutor can help with that. A tutor can feedback best practice, context, and industry trends. A Boolean eLearning platform cannot.

Contextualised learning is not just about placing the technologies to help the student better understand. It is also about how you relate the learning to the individual student, so they can better learn. The very nature of eLearning means we can have students from any background. A generic eLearning platform cannot, by its Boolean nature, explain all things to all people. A tutor, however, can have a blinking good try! Trying to break down the learning journey into a voyage the student can understand and follow is invaluable, and I would argue, only achievable by contextualised learning from a tutor.

—————————————–

I hope this article has gone some way in helping you understand the importance of contextualised learning. If it has…please LIKE, SHARE or FEEDBACK the post. Thank you.

About the Author, – Dr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real industry-ready skills that matter at The Training Room.

#ttrIT #ttrcareerinIT #ttrLearnToCode

Visit his Blog and Website

Read more about Dr Richard Haddlesey BSc MSc PGCE PhD

Please follow and like us:

Teaching Python vs HTML

So, I was talking to a colleague the other day and he was asking me about my experience teaching Python at secondary schools, mainly – “is Python forgiving”? My simple answer was – No! Python is not forgiving at all in comparison to HTML.

I now primarily teach the web trifecta – HTML, CSS and JavaScript and the question came about because of the forgiving nature of HTML. Students can submit some shockingly ill-formed code that will still display in a browser.

For instance –

<p>hello world</p>

will display “hello world” in a browser. Yes, it works, but it is far from well-formed or best practice, such as –

<!DOCTYPE html>

<html>

<head>

<title>better code</title>

</head>

<body>

<h1>Hello, World!</h1>

</body>

</html>

Python, on the other hand, is far more pedantic about its syntax rules. Often a simple misplaced / or : or “ instead of ‘ will render the code useless. I would spend hours of teaching code locked in debugging to find where a student had forgotten that colon! Don’t get me wrong, I love debugging – no, I really love debugging, and I am good at it because I enjoy it. However, debugging code because a student cannot copy from a book without dropping a colon is not so much fun.

If I am to compare the two languages in a teaching environment, teaching Python is probably easier. Why, you ask? Well, because-

·        it has to be right to work!

·        It has to be indented

·        It has to be well-formed

·        It has to be structured

·        It has rules that must be followed

·        The syntax is exacting

Sure, this is harder to teach – forget “free will” and “conform” your code, can stump the more creative students, but you are industry ready if you learn it right. Good old slap happy HTML will often work no matter how badly the code is written or formed. This makes it harder to teach because they know they can get away with –

·        A lack of structure

·        No indents

·        Ill-formed code

·        Missing syntax

·        A real “DIY” mentality

Therefore, teaching HTML that works is very easy – teaching HTML that is industry ready is really not!

“Well my webpage works doesn’t it sir?”

“Well…erm…yes, but it is a mess and the code are all over the place and is very hard to follow”

“Whatever, sir…it works and that’s good enough for me, so the heck with it!”

OK, so back to the anecdote – Python.

After getting so frustrated with putting colons and the alike into student’s code, I started playing a game. We had loads of old keyboards at school so I got a load and removed the .,?;:”’ etc from them. If a student asked me why their code wasn’t working, I would look. If it was logic I would explain and work with them on it. If it was syntax, I would go to my desk and pick up the corresponding marked key and place it on their desk. Obviously, if the key they were given was a colon, they knew they had to look for the missing colon in their code. This would encourage them to look for syntax errors themselves, rather than have the embarrassment of receiving a broken keyboard key placed on their desk.

Gosh…I miss teaching Python. However, I love teaching the web trifecta here at The Training Room.

No matter what language you learn – learn to code!

#ttrLearnToCode #ttrIT

Please follow and like us:

There is more to providing learning for the I.T. industry than just teaching code!

As IT trainers, should we be installing and promoting “good practice” and “ethics” alongside the coding and theory?

With the absence of a professional regulatory body in I.T. and web development, it is up to us to self-regulate. In doing so, it is essential that we pass on ethics and good practice to the next generation of developers and coders. It is not enough to just teach “good code” and computational thinking, we must provide the wisdom and morals to allow our students to implement their code in an ethical way.

Hacking, espionage, directed advertisements, ransomware, cyber-terrorism, fake news, fraud, spam, SQL injections, sexting, legacy content, the right to be forgotten -etc. are the headline threats to the future of our “on-line” world. However, beyond the obvious are the underlying ethics that affect our daily interactions in the digital age. It is crucial, I believe, that we create a culture of “best practice” within the IT industry to maintain our integrity and elicit trust from our clients and the wider public.

So, if I am not talking about the headline threats to online and digital ethics, what am I talking about?

I am referring to the need for standards and collaboration across the industry. The simple things that make life easier for us all:

  • Indenting your code so others can read your code
  • Commenting on your code so others can understand it
  • Personalising your code so others can’t plagiarise it
  • Make your code efficient and elegant to inspire others
  • Share code snippets with others so we can learn from your code and you from ours
  • Develop your code to be neutral of external influences (no politics, race, borders)

 

Let us now break these points down.

Indenting code

Indenting code has its advantages and disadvantages, but I will argue the positives far outweigh the negatives. Just as we use white space and paragraph in the written language to add emphasis and separate concepts, written code also benefits from this. Placing blocks of code separate from other blocks, or indented within a larger or parent block, helps others to read your code. Not only that, it makes it much easier for the developer themselves to isolate blocks of code when it comes to debugging or showcasing the code to the client or other team members. Different coding languages will have different levels of indentation built in – Python for example – whereas HTML will not enforce indentation (unless you are using a dedicated code editor or IDE). The W3C does go some way to highlight the need for indentation in their style guide by suggesting

·        Do not add blank lines without a reason.

·        For readability, add blank lines to separate large or logical code blocks.

·        For readability, add two spaces of indentation.

·        Do not use the tab key.

·        Do not use unnecessary blank lines and indentation. It is not necessary to indent every element.

Sublime Text 3 has a really innovative way of helping with indentation, it places gridlines that connect the levels of indent so you can visualise related blocks of code. This also helps with ensuring you properly </close> your elements. As mentioned before though, these are just “best practice” at the most, and are neither enforced nor necessary. This naturally causes ambiguity in code with various editors creating different indent depths, some automatically create indents (Dreamweaver etc) whilst others do not (Notepad++, Sublime Text, Brackets). The point I make here is, someone new to the coding environment using a free editor will not necessarily be aware of indenting. Does this make their code wrong? Does it stop it from working? Will it stop them from being paid? The answer is no! However, it may not endear them to their colleagues and will place them apart as “noobs” and will hopefully imply they are not certified developers – a theme we shall return to later.

<!– Commenting your code –>

I understand that commenting your code is more associated with teachers wanting their students to show their understanding when compiling code, but its use is far more important than that. If you are being paid to write code for a company, they will often own the intellectual property rights to the code. Therefore, they have a right to understand what parts of the code are doing. That aside, if you are working as part of a team, other members of your team will need to know what parts of the code are doing. I am certainly not suggesting you comment every line or element, but you should comment a block, function, iteration, concept, external file etc – for your own understanding and sanity if not that of others. I am not referring to putting in an <alt> text for an image – although clearly, that is good practice too – I am more concerned about professional ethics and good practice rather than semantics.

Personalising your code so others can’t plagiarise it so easily.

Ok, this may seem sneaky, but using another developers code as your own is far sneakier! It may also be prudent to add comments to code to try and catch those plagiarising your code, or using it for financial gain and infringing your intellectual property rights. Beyond commenting, you could also add a few “false” lines of code. I am all for sharing code or examining others code as a starting point or inspiration, but within that, you should <!–comment–> in a #reference to the original code and thus, credit the author.

 

Share code snippets with others so we can learn from your code and you from ours.Finally – join a forum! Learn, share, create, collaborate, ask, tell, say, question, expand. There are plenty of places to get involved. Stack Overflow is simply amazing and a must join for any budding or professional developer. Join “roughly 40 million developers who visit the site every month” and ask more than 8,000 questions a day! Another great resource is GitHub where you can share and collaborate.

I hope this article has gone some way in helping you understand the importance of Industry ethics and “good practice”. If it has…or hasn’t… please LIKESHARE or FEEDBACK the post. Thank you.

About the Author, – Dr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real industry ready skills that matter at The Training Room.

#ttrIT #ttrcareerinIT #ttrLearnToCode

Please follow and like us:

A future skills gap in the wake of the new Computer Science GCSE?

As a former Secondary School Teacher, I was part of the government’s move away from traditional Information Communications Technology (ICT) toward Computer Science as a GCSE.

The change has been profound and caught many teachers off-guard. Many older teachers of ICT could not easily make the transition to teaching computer science. Why? Well because it is now a science! A science based on computational thinking and the logical creation and analysis of algorithms and coded solutions. In simplistic terms… it’s out with Microsoft Office and in with Python IDE!

Computer Science then is a completely different course to ICT. Obviously there exists some latent crossover, but for the most part, it is a much more relevant science/industry-based qualification compared to the more business based ICT course. Much of what was ICT is now only a small part of the E-commerce side of Comp Sci. It has moved from learning how to use software – such as MS Office – to create documents and websites. It is now much more about how to build apps, programs and e-portfolios alongside maintaining computer systems, networks and cyber-security. As such, breaking down a problem and planning a sequenced plan or algorithm is now fundamental to the “art” of computational thinking.

 

My experience of teaching both ICT and Computer Science has taught me that not all students are capable of Computational Thinking and understanding algorithms. Not all can think sequentially and logically, many can only process freeform, nonlinear thoughts and can make little sense of a computer that can only do what it is told, in a specific order using a specific structured language or code.

This leads the teacher to have to focus more on trying to teach the students how to create algorithms and flowcharts and of course coding. There does exist many high-quality educational aids for learning to code –

·        https://code.org/learn

·        https://scratch.mit.edu/starter_projects/

·        http://www.alice.org/index.php

·        https://www.codecademy.com/learn

·        https://www.kodugamelab.com/

·        https://codecombat.com/

Students, in my experience, find it difficult to code effectively because of the strict syntax. Although PYTHON is very forgiving, it is exacting in its syntax – in other words, if it expects a colon or comma, then it MUST have a colon or a comma! – but why? “Well, it just does” can placate some students, but frustrate others. Trying to get the students to code effectively takes up a lot of teaching time at the expense of much of the theory. Most of the time we had to rely on students doing the theory for homework, which inevitably, was 50/50 hit and miss with many students not bothering. The ability to create a working solution to a problem almost always forms the basis of at least one of their final Controlled Assessment’s in which the student must plan, code and test a solution efficiently with no guided help from their teacher or peers. Because this is crucial to a good final grade, it is obvious that teaching and learning how to code and troubleshoot code is a classroom priority.

So, you may ask, why am I writing this blog? Well, because I believe that there will continue to be a skills gap when our present and future cohorts of GCSE Computer Science students leave school. I am convinced that they will certainly better equipped than their ICT qualified peers, however, with too much time given over to learning Python I think they will be lacking solid industry skills. Don’t get me wrong; I think their learning Python, Computational Thinking and Algorithms are a massive step forward in the right direction. However, they often lack the ability to translate the learning of Python into other “C” based languages and HTML, SQL, JavaScript etc. No matter how hard we try to drill the students on the importance of planning and writing algorithms that were not retro-engineered, they always wanted to code first and then try to make up a plan to fit the program.

Any way I digress… I am not trying to push a solution – after all, there is no single solution – I am just pointing out my observations in order to try and start a discussion on the future of the industry and whether others have noticed a skills gap in GCSE students?

I hope this article has gone some way in helping start a discussion on possible future skills gaps. If it has…please LIKE, SHARE or FEEDBACK the post. Thank you.

About the Author – Dr Richard Haddlesey is the founder and Webmaster of English Medieval Architecture in which he gained a Ph.D. in 2010 and holds Qualified Teacher Status relating to I.C.T. and Computer Science. Richard is a professional Web Developer and Digital Archaeologist and holds several degrees relating to this. He is passionate about the dissemination of research and advancement of digital education and Continued Professional Development #CPD. Driven by a desire to better prepare students for industry, Richard left mainstream teaching to focus on a career in tutoring I.T. professionals with real skills that matter. Thus, catering more to the individual learner’s needs relevant to their career pathway than the National Curriculum taught in schools is presently capable of.

#ttrIT #ttrcareerinIT #ttrLearnToCode

Please follow and like us: