> 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…
Inverse Live Coding: A practice for learning web development
11–20 of 29 posts
Re: Inverse Live Coding: A practice for learning web development
#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…
I only remember having one prof who clearly didn’t know the material. He spent most of every class just copying code onto the board by hand, then trying to talk about it a bit. I really didn’t learn much in that class. Unfortunately it was the foundational C++ class at my university and really kind of handicapped me in successive classes that were also taught in C++.
My alma mater? The University of Michigan.
Re: Inverse Live Coding: A practice for learning web development
#13> 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, it concerns me - but it doesn't really surprise me (my own UG CS experiences have really disillusioned me with regard to how much of a priority teaching quality really is, particularly in research-intensive institutions). It doesn't sound like the author had much say in the situation "I also had to teach it", so unsure if the department is the root problem here.
But it's doing a disservice to students - particularly given in the US they'll be paying much, much more than the tuition fees here in the UK (which I think are excessive as it is). It's not good enough. If you're going to offer a class that's more practical, covering real web technologies, do it properly or don't offer it at all. We risk teaching poor practices otherwise and I've seen these lead to real security issues when students enter industry and want to put these skills to use.
Re: Inverse Live Coding: A practice for learning web development
#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…
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 outside of TA hours. My alma mater has an excellent undergrad TA program where students who performed well in the course are recruited to be TAs when the course is offered later again.
Re: Inverse Live Coding: A practice for learning web development
#15At https://www.missionbit.com/ I taught a web development class for a while and we'd start with a pre-built but very simple web application. It was a "social wall" that displayed a list of messages and had a textbox that let people create new messages.
It used a real database, was ready to deploy on day 0, but did only that one thing (two endpoints, one database table, etc.).
Over the class students would add new features (liking, sorting, user authentication, etc.).
It works well if the project(s) connect!
Re: Inverse Live Coding: A practice for learning web development
#16> 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…
What does bother me is the lack of education regarding the HTML elements. How often have I seen anyone with a MDN page reference for an element? That never happens! Yet it is the dictionary and there aren't a lot of elements to remember unless you are trying to draw SVG shapes with masks, arrow heads on them and fancy fills.
Is there a good place to get a good idea of what is being taught to students these days? I am sure that the basic HTML elements are being skipped over and I would not mind confirming that.
Re: Inverse Live Coding: A practice for learning web development
#17> 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…
And my belief, as far as I gathered from hearsay, was that ‘Western’ approach was different, what with having professors who actually work in the field between lectures. So I was, uh, rather surprised to read this.
Re: Inverse Live Coding: A practice for learning web development
#18I 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 hand drawn pics and screenshots. Here are some examples:
https://ourcodestories.com/markm208/Playlist/All
(Click on the >> button to move from comment to comment. These work best on a big screen)
I show some of these in class before asking the students to work on a related problem. I require the students to view the rest outside of class.
My students really like these. They prefer them to textbooks (no surprise) and videos covering similar material.
The tool to create these 'playbacks' is free and open source (currently a VS Code plugin). I have also created the site to share these with others. I am looking for feedback.
Re: Inverse Live Coding: A practice for learning web development
#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…
Universities have a short list of options. Having instructors who are smart and understand the material but may not be masters of it? That's a really good situation to be in, compared to the worst case scenarios. Sure, maybe Mark doesn't feel comfortable live coding in front of a classroom for web dev (a skill, by the way, that changes dramatically every year). But he's someone who cares about teaching, plays around with his teaching strategy, and is smart (I mean, he's freaking Mark Guzdial). With those three facts, his students are in a significantly better situation than the average university class.
I had to teach "Intro to Algorithms" the past two semesters. I got an A in that class when I took it, and I'm able to solve most problems from the textbook. Does that mean I can stand up in front of the class and solve any question from the textbook? Absolutely not. Does that make me less qualified than Skienna or Djikstra? Absolutely. Does that mean I can't teach the class? I don't think it does. I can build and grade assignments, I can lecture in class, I can answer most reasonable questions that students have, and I can build good exams that fairly measure my students' knowledge. I'm sure my students would prefer to have an instructor who can do all of those things and also be able to perfectly answer any possible Algorithms question they may have. But unfortunately, that person doesn't exist at University of Delaware - or if they do, then they're teaching one of the other required courses, and we couldn't spare them to teach Intro to Algorithms. It's just the way things are with hiring. I don't think my students' careers are going to suffer because I can't whip out a proof for the reduceability of Vertex Cover to 3-Sat live in front of them.
Ironically, I would feel extremely confident about live coding for a Web Dev course. Hopefully I get a chance to teach one at some point, because I'm pretty sick of teaching Intro to Algorithms :)
Re: Inverse Live Coding: A practice for learning web development
#20I 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…