Live data from Hacker News

Inverse Live Coding: A practice for learning web development

computinged.wordpress.com

21–29 of 29 posts

Re: Inverse Live Coding: A practice for learning web development

#21
post #20

I have struggled with the speed at which I can write code live in class. It is hard to do it fast enough to keep students interested. It is also difficult to show even moderately complex programs from start to finish. I have created a tool that allows me to move quickly through my code where students can still see how the solution evolves. I can comment at interesting points in the development of the code and attach…

What’s the name of this VS Code plugin?

https://markm208.github.io/storyteller/install.html

Re: Inverse Live Coding: A practice for learning web development

#22
post #19

> I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class used JavaScript, jQuery, or CSS. I learned a lot, but I also had to teach it. > I could not live code in this class. I didn’t know the material well enough. It took me too long to code, and I couldn’t recover from mistakes i…

The major crisis in university CS Ed is that there are nowhere NEAR enough qualified professors to teach all the subjects. There will not be enough in the next 5 years, assuming there is no radical change in qualification expectations. There are simply not enough PhDs being granted to keep up with the demand of students, and not enough students want to stick around and teach when they could be making tons of money in…

> and not enough students want to stick around and teach when they could be making tons of money in industry instead.

Especially not since there typically isn't a good university career path for teachers. Research is generally valued a lot more when it comes to getting a permanent position etc.

Re: Inverse Live Coding: A practice for learning web development

#23
Not meant to be an attack and possibly I am missing something but if I paid to take a course at a university and the person teaching it was only ever a step ahead of me at any time... I'd have never taken the course.

This style of teaching (I feel) gives the illusion of confidence that the student is on the right track although its barely more than blind leading the blind.

Possibly an unpopular opinion but I have been tricked by folks like this in the working world and academia...I feel it is the source of much of my frustration with CS as a profession.

Re: Inverse Live Coding: A practice for learning web development

#24
post #22
post #19

Earlier quoted context omitted.

The major crisis in university CS Ed is that there are nowhere NEAR enough qualified professors to teach all the subjects. There will not be enough in the next 5 years, assuming there is no radical change in qualification expectations. There are simply not enough PhDs being granted to keep up with the demand of students, and not enough students want to stick around and teach when they could be making tons of money in…

> and not enough students want to stick around and teach when they could be making tons of money in industry instead. Especially not since there typically isn't a good university career path for teachers . Research is generally valued a lot more when it comes to getting a permanent position etc.

It's true, but that will have to change if they want to start handling the volume of students we're being asked to handle.

Re: Inverse Live Coding: A practice for learning web development

#25
In college: They give me options for the implementation (theory first, then practice based on that theory).

In real world: They give me the goal, let me find the theory.

It's the finding the right theory for the implementation a goal is the toughest part here for a graduated.

Re: Inverse Live Coding: A practice for learning web development

#26
post #12

> I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class used JavaScript, jQuery, or CSS. I learned a lot, but I also had to teach it. > I could not live code in this class. I didn’t know the material well enough. It took me too long to code, and I couldn’t recover from mistakes i…

Yes, this bothers me greatly, particularly since in 2018-19 you could throw a pebble in any direction and hit someone who knows JS/jQuery/CSS/HTML. You almost have to go out of your way to find someone who doesn’t. I’m sure this guy is great at other things but students are paying thousands of dollars for this education. I only remember having one prof who clearly didn’t know the material. He spent most of every clas…

> in 2018-19 you could throw a pebble in any direction and hit someone who knows JS/jQuery/CSS/HTML.

You could, but they all have jobs doing actual programming. Universities pay sub-poverty wages to adjuncts to teach most of their classes and so this is what they get. It sounds like this person at least cares and is working hard to teach the material.

Re: Inverse Live Coding: A practice for learning web development

#27
Thanks for all the great comments!

It's true that I was just a step ahead of the students. However, I was using course materials designed by people who knew the material, I had veteran TA's (who could answer the questions), and I do have over 30 years of teaching experience. This was an advantage when teaching this class. I could figure out when the lecture slides weren't enough for me to understand, so I added more to them to make them understandable for the students. My expertise is in teaching: Figuring out how to make things learnable by students.

In the end, the Web programming part was only a portion of the course -- the rest of it was on design and development process, architecture, and issues like accessibility, all of which I am more familiar with. (For example, because I'm an old Smalltalk programmer, I can explain where MVC came from and strengths/weaknesses better than many.)

The course evaluations were very positive. I think the class worked.

Re: Inverse Live Coding: A practice for learning web development

#28
post #14

> I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class used JavaScript, jQuery, or CSS. I learned a lot, but I also had to teach it. > I could not live code in this class. I didn’t know the material well enough. It took me too long to code, and I couldn’t recover from mistakes i…

In this case, he should have recruited students who are well versed in these things to help conducting the course as TAs. He could have only taught about the principal/design, and let the TAs teach the real coding part. I found this approach is very effective for students because they basically learn the skills from their peers or even roommates, and if they are friends on campus, they can ask questions any time outs…

This does happen most of the time, and UM has quite a large TA group. He almost definitely had TAs and the majority of the learning is around discussion/recitation sections and practice. In this case, he also wasn't developing the course from scratch either. So, the content in the course was built by those more familiar with the web.

Re: Inverse Live Coding: A practice for learning web development

#29

> I finished my first semester teaching at the University of Michigan. I taught EECS 493 User Interface Development all on the Web. It was a tough class for me since I had never before this class used JavaScript, jQuery, or CSS. I learned a lot, but I also had to teach it. > I could not live code in this class. I didn’t know the material well enough. It took me too long to code, and I couldn’t recover from mistakes i…

I'm sure it bothered him, too. Keep in mind that the goals of university courses are not just to learn the material but to learn how to learn something. I know it bothers faculty members when they barely feel ahead, but at the same time -- teaching well is as much about understanding pedagogy as it is about understanding the content. And there's a lot of computer-science specific teaching techniques that would transfer to this course.

In an intro course, you seldom get into the super advanced parts of that topic. He's still a very distinguished CS instructor, and even if a student were to ask some question about, say, a CSS cascade question, he'd be more than capable of looking up the answer and explaining things, even if he doesn't know something on the spot.

I'll add that when live coding, you need to generally be more than just comfortable explaining a topic -- even if you understand say, using jQuery callbacks with AJAX requests, you'd probably avoid teaching it live until you know how to recover from errors in reasonable ways or exactly where in the docs you need to look. It's not that you couldn't figure out the solution, but you want to be comfortable debugging something on the order of seconds of to a minute or two so you don't loose lecture time.

Post reply on HN