Teaching Code in Postsecondary Education
In the winter semester of 2020 I was given the opportunity to visit a number of postsecondary educational institutions across the globe to research how they teach code.
This is a journal of my experience.
This research is concerned with improving student learning in coding fundamental classes within postsecondary educational institutions.
I started teaching code at Humber College in Toronto, Ontario, Canada over fifteen years ago. When I first started teaching, learning to code was a relatively niche skill reserved for programs related to software development, interactive media, and applied science. Today, coding courses are included in a much larger variety of programs, including programs related to media communications, audio and video production, and graphic design. Coding is becoming an increasingly required skill in unexpected fields.
Coding is becoming the most in-demand skill across industries.
More Non-Tech Positions are Requiring Coding as a Skill-Set.
As the demand for this skill increases it is important to ensure that teaching methodologies make learning code accessible to all students, not just students aspiring to become career programmers.
How are coding fundamentals being taught in different postsecondary educational institutions in different countries?
What problems and challenges have professors experienced while teaching coding fundamentals?
What teaching methodologies have professors observed to be particularly effective when teaching coding fundamentals?
This research project attempted to gain a better overall understanding of effective teaching pedagogies currently utilized when teaching coding fundamentals in postsecondary education institutions.
To achieve this, the principal investigator visited a variety of postsecondary institutions in multiple countries and observed how coding fundamentals are being taught, participated in the education of coding fundamentals, and interviewed faculty teaching coding fundamentals. A qualitative analysis was completed on conversation transcripts and notes taken from classroom observations.
Postsecondary institutions were chosen by utilizing Humber's existing partnerships through the Global Polytechnic Alliance. As such, the primary education institutions included Humber College in Toronto, Canada, Otago Polytechnic in Dunedin, New Zealand, and VIA University College in Aarhus, Denmark.
As plans developed, postsecondary institutions in the area of the GPA were contacted and the list grew to include Juno College of Technology in Toronto, Canada, Otago University in Dunedin, New Zealand, and Fontys University of Applied Sciences in Eindhoven, Netherlands,
27,000 Full-Time Students
Humber College is my home base. I have been teaching code at Humber College since 2002; I am also a student alumni. Humber has multiple schools teaching code including the Faculty of Media & Creative Arts (where I teach) and The Faculty of Applied Sciences & Technology.
In 2018 Humber College opened The Barrett Centre for Technology Innovation; a 93,000 sq. ft. building designed to inspire innovation in science, technology, engineering, and art by working with industry and community partners.
Humber College also has the Centre for Teaching & Learning which is dedicated to the development and enhancement of teaching and learning practices; this includes supporting faculty who are innovating in the classroom or participating in SOTL activity. The CTL has supported my development as a Humber College faculty member and played a role in this research project.
In my experience Humber College places a high value on innovation in technology and in the classroom.
In January of 2020 I sat in a few classes outside of the programs I usually teach in: CENG 256: Internet Programming, CENG 251: Unix Internals, CENG 254: Databases with Java, and HTTP 5201: Security and Quality Assurance.
As Humber is my home base I will probably have more insights here than I will visiting other postsecondary institutions. Here are some of the aspects of Humber and teaching code that I would like to highlight:
Flexible Collaborative Spaces
One of my favourite aspects of Humber College is the investment they put into the physical classroom. Humber has completed extensive research with respect on the effects of the classroom on student learning and behaviour. This has resulted in classrooms such as the Hives, our new Flexible Collaborative Spaces, and much of the CTI classrooms. In my experience teaching in these classrooms results in improved group work, collaboration, and overall student learning.
The reconfigurable group tables and instructor/student controlled displays at each station are especially effective when teaching code.
In the Fall 2019 and Winter 2020 semesters, the Interactive Design Cluster (IDC) of programs cancelled three days of classes to hold a series of workshops, jams, and hackathons called PlayDays. Topics included LEGO Robotics, Podcasting, Unity, Yoga, Building a Game Controller, and visits to the Art Gallery of Ontario (AGO), the Royal Ontario Museum (ROM), or the Void Virtuality Immersive Experience. This week gave students a chance to learn about topics outside of their program, make new connections, and enjoy a slower pace for three days.
For more information you may view a research paper completed by a few other faculty and myself: A Case Study of a Cross Program Collaboration Week in Polytechnic Education.
It is the intention of the Interactive Design Cluster of programs to repeat PlayDays each semester moving forward.
<1000 Full-Time Students
Juno College of Technology (formerly HackerYou) is a relatively new College located in downtown Toronto, Canada. Juno College helps people break into technology fast. Their programs go from zero to expert in as little as nine weeks.
The college is so confident that you will be employed after completing one of their programs that they offer an Income Share Agreement. Instead of paying tuition up front, a student can pay $1 so start the program, and then pay the remainder using a percentage of their salary (once they are hired and making $50,000+).
Not enough can be said about the overall environment of the college. The faculty, location, decor, and overall atmosphere feels like a tech startup. There is a definite vibe to the people and college that I have not felt anywhere else. Everyone and everything is about learning code.
10,000 Full-Time Students
Otago Polytechnic is located in Dunedin, New Zealand. Located on the coast of the southern island, almost as far south as you can go in New Zealand.
The polytechnic is located close to downtown Dunedin and across the street from Otago University. The Information Technology school consisted of six cohorts of students in various stages of the degree, each cohort was between 25 and 50 students.
The classrooms were well equipped. In one classroom each computer station allowed students to physically connect to a server rack (located in a small room beside the classroom) and reconfigure physical networks. Another classroom included stations where students could assemble computers using a selection of parts.
My favourite classrooms were designed specifically for teaching code (and other IT). The classroom consisted of five rows of computer stations; each row was a few steps higher than the one in front of it. Each station had a computer towards the back and a small desk in front. During a lecture all students were facing the front, with a space to take notes, without the distraction of their computer. During a lab professors could see all screens and easily identify when a student needed assistance.
During February and March 2020 I observed and participated in classes within the Bachelor of Information Technology applied degree. I sat in on classes including Fundamentals of Web Development, Advanced Networking, and Project courses; I was also recruited as a temporary teaching assistant in Programming 1 (basically an introduction to C#).
Most classes followed the same format: approximately 30 minutes to one hour lecture followed by one to one and a half hour lab. During the lab students attempted to complete tasks that complemented the lecture content. Notes with task details were provided in a notebook or online using Moodle. The provided notes were very thorough, if a student missed a class they could easily follow catch up on their own time.
I completed most of the Programming 1 labs before assisting with class to brush up on my C# skills (I have only ever used C on an Arduino) and I had no problem following along. The notes could be published as an introduction to C# book, they were that good!
During the final year of the degree, students complete two major projects. This is similar to my experience at Humber with our capstone projects; however, there were a number of small differences that appear to make a big difference:
The capstone class had a dedicated lab. It was theirs to use at anytime they wanted to.
On the first day of the course, the room is filled with computer parts (keyboards, mice, screen, towers, etc...). Each student builds their own computer, installs the operating system of their choice, connects a mouse, keyboard, and one or more monitors, and chooses a desk. This is now their workspace for the semester.
Groups Based on Interests
Students are placed in groups based on interests. There is a group creating an automatic gardening machine (based on the open source CNC farming robot called FarmBot), a video game using Unity, an interactive penguin, and constructing a device to monitor deer migration.
Projects last longer than one semester. When one group of students graduate, they need to leave the project in a condition that can easily be adapted by the next students. Most of these projects have an industry partner.
Student Affect Tool
The Student Affect tool was developed by faculty at Otago Polytechnic and followed up with a research paper: Self-Reporting Tool for Capturing Student Emotions During Programming Activities. The tool requires that students answer three to four short questions after completing a lab ranking difficulty, interest, confidence, familiarity, satisfaction, and improvement. This helps faculty identify student confusion and frustration before causing students to become disengagement and/or drop out of a course.
The code is available for download using the Student Affect Tool Github repository.
21,000 Full-Time Students
Content Coming Soon
20,000 Full-Time Students
Content Coming Soon
44,000 Full-Time Students
Content Coming Soon
Dishman, L. (2016) Fast Company. Retrieved from https://www.fastcompany.com/3060883/why-coding-is-the-job-skill-of-the-future-for-everyone
Kassandra Jucutan. (2018). CodingDojo. Retrieved from https://www.codingdojo.com/blog/non-tech-positions-requiring-coding