For 4 months this year I taught a web application development class at the University of Pittsburgh. We mostly used Google App Engine but we also covered HTTP concepts, HTML5 and CSS3, JavaScript, some front-end frameworks, PHP, and mobile development, though I wish there was a bit less PHP.
Most of the classwork is around a semester-long project. I think the student projects were pretty impressive this term - here are the descriptions the students provided and links to the applications (in no particular order):
Along with a lot of help from my outstanding Teaching Assistant, Salim Malakouti (seriously you should hire him - he's the best), I finished the grading last week. Overall I think the class went well but there are definitely some things that I need to work on. From reading the student feedback, I think a lot of students agree.
A few reflections and lessons learned:
This pretty much sums it up.
Most of the classwork is around a semester-long project. I think the student projects were pretty impressive this term - here are the descriptions the students provided and links to the applications (in no particular order):
- Scratcher (http://scratcher-app.appspot.com)
- Make and share scratch art on the web.
- Gaggle (http://gagglepitttest.appspot.com/)
- Crowdsourced application for tracking crowds and busyness of places.
- tripPAL (http://trippal-1520.appspot.com)
- tripPAL helps connects fellow commuters, and travelers to find low budget transportation options.
- Gradr (http://gradr.io)
- Application for managing class assignments and classrooms.
- PITTGOT (http://pittgot.appspot.com)
- PITTGOT is a free web application for Pitt students as a supplement to the peoplesoft website. It is intended to be an easier application for the student to aid scheduling of classes and keeping up with their assignments, coursework and graduation plan.
- League Makers (http://leaguemakers.appspot.com)
- Our site is a place to create a league for any kind of sport or competition. In a league you can create matches and report the winners. The site tracks the winners and ranks participants in the league using the ELO ranking system. It also allows people to look at a history of matches played in the league and to run a tournament that is seeded via the rankings in the league.
- Golight (http://golight-app3.appspot.com/)
- Our application is a simple way for users to share their availability with friends and even within specific groups. Users can also enter their schedule to have it automatically updated for friends to see in the future.
- Sportify (http://sportify12.appspot.com)
- Application for finding gym partners.
- Mola (http://mola-web.appspot.com/)
- Our website is system which allows users to rate locations based on handicap accessibility.
- Deal Seal (http://deal-seal.appspot.com/)
- Deal Seal is a crowdsourced application that allows users to post and find deals going on in their area.
- Student-Exchange (https://student-exchange.appspot.com)
- Our goal is to solve the fear people (specifically college students) have when buying something on CraigsList. We set out to accomplish our goal by providing college students with a user-friendly application exclusively offered to students, therefore reducing the anonymity associated with online shopping.
- Ride Sharer (http://ride-sharer.appspot.com/)
- Our application is a simple ride sharing tool for college kids to use since they often have similar semester breaks. Students can easily post rides, reserve seats in existing trips, and more.
- LearnSomething (http://learn-something-today.appspot.com/)
- LearnSomething is a social network that encourages the discovery and sharing of knowledge from Wikipedia.
- Platoniar (http://platoniar.appspot.com)
- Our application is a collaborative programming tool used for teaching and tutoring outside of the classroom. The application was consciously built to support tools that embody collaborating, working on code, and communicating within a virtual classroom.
- Project Herodotus (https://project-herodotus.appspot.com)
- A social media application focused on leveraging location based information to provide a new dimension to the global experience.
- Otto (http://otto-handin.appspot.com)
- A web app to facilitate the submission of assignment solutions to an instructor of a course.
Along with a lot of help from my outstanding Teaching Assistant, Salim Malakouti (seriously you should hire him - he's the best), I finished the grading last week. Overall I think the class went well but there are definitely some things that I need to work on. From reading the student feedback, I think a lot of students agree.
A few reflections and lessons learned:
- 65 is too many students. It's just too hard to keep up with that many grades, emails, projects, and requests for help. This was the first time I didn't learn every student's name by the end of the semester and I'm really, really disappointed about that.
- I need to assign more homework in the beginning of the term. I tried to hold off on this due to the large group project but I think it'd be beneficial to have more (but smaller) homework assignments.
- While I really like to run a dynamic classroom and adapt to the needs of the class, I need a better plan for the fall.
- There should be a better focus on lecture topics. I get distracted easily, especially in a lecture that goes on for 165 minutes, but I'm planning to regiment the material a bit better next term.
- I'm getting burnt out and I need a solid summer to recover.
a solid summer, and like 110 of these.
I received my lowest overall effectiveness rating for this class since my first year at Pitt. It's not bad but it's not up to my standards. Honestly though the hardest thing to hear was that 52% of the students didn't feel like they learned more in my class than in other classes, so next term I'll be turning the amps up to 11.
or at least 10.5.
I'm planning to break the fall term into 10 blocks with big examples and a homework assignment to illustrate each:
- TCP/IP, HTTP, and how the Internet works.
- HTML5, CSS3, and JavaScript.
- The Python Language.
- Creating basic pages in Google App Engine (templates, users, and logging).
- ACID, BASE, and general data storage concepts.
- XML, JSON, Ajax, and general data transmission concepts.
- Google App Engine services.
- Front-end web frameworks.
- Mobile development.
- PHP and LAMP.
I've already got assignments prepped for each and examples for most of them, so I'm hoping to address the issues with organization right away. The class is capped at 52 (which is still high, but we'll deal). I've got a few other things figured out - I think that it takes about 2 semesters to really figure out a class, so hopefully the third time's the charm.
Comments
Post a Comment