Athletic Software Engineering End-of-Semester Reflection

At the end of the semester, I distributed a questionnaire to the 15 students in the class to obtain their insights into athletic software engineering (i.e. WOD-based learning) as an educational paradigm.

In summary, the questionnaire results indicate strong (80+%) support from the students for the following:

Finally, almost all of the students indicated that recording homework, exercise, breakfast, and sleep (HEBS) scores was not useful.

Details on the questions and results follow.

Given the choice between learning this semester’s material using WODs or learning it in a more traditional way (longer assignments and problems, no time limit, no instructor solution videos) which approach would you choose?

100% (15/15) of the students chose WODs. Here are some of the comments:

“The repetitiveness of the WODs help reaffirm what we are supposed to learn (framework structure, etc.) And the instructor solutions were essential in my learning, as I find the best way to learn is by example.”

“I do like the WODs because it really does test you a bit to write faster and be more correct while pushing yourself to do better. Also it was sometimes fun to write the program and try to speed through it.”

“I believe that the WOD’s give a much more hands-on approach to learning which helps reinforce concepts throughout the class. The time limit does factor into so stressful moments but they do result in a person working better under a time constraint. The solution videos are also a nice component of the WOD since they give an alternate take of how to tackle a problem and helps a student see where they may have done wrong.”

“I would choose to do WODs over the traditional approach because it helps you to become accustomed to working under pressure. I find myself learning more this way due to having to remember what I’ve done rather than searching up on how to do something and then forgetting soon after.”

“WODs are an interesting teaching style which none of my other class have incorporated before. Its pretty much like a timed homework assignment but with unlimited retries which is great. And also the the solution video is also posted which is another great thing about the WODs because if there were no solution video I may not have finished some of the WODs.”

“I feel that accomplishing tasks under a time constraint is very important. As a student I find that I take my time for granted. The WODs taught me that I won’t always have the luxury of taking as long as I need to complete a task. If my future boss wants me to deploy 5 applications in one week, I have to make sure that each application is complete given that time constraint. Managing time efficiently is something that I want to practice more and even though it was stressful at times, I liked being put under pressure to do the WODs.”

“I liked WODs because they forced me to do my homework or fail miserably. I also liked learning outside of the classroom via the web posts and using class time to just do little exercises.”

“I remember one of the main points of doing the WODs was so that we would be comfortable coding on the spot if we were in an interview. Due to the structure of the class, I realized that I learn a lot better this way rather than sitting in class listening to the professor just talk and then having a test on whether you listened or not. For the WODs, it was like learning and at the same time gaining practical experience (it was a smart and great use of class time).”

“The frequency of WODs are really good to keep everyone on their feet during the course of the semester. Usually with the traditional way, it is very easy to procrastinate for longer periods of time.”

Two students advocated a mixed approach:

“I actually think that a combination of the two might be an interesting approach. The issue with the WOD homework is that some people may just end up looking directly at the instructor solution first. Perhaps this is not necessarily a bad thing, as it would ensure the student learns the material the way the instructor wishes – however, it might be a missed learning opportunity.”

“I feel that WODs were effective in most of the modules, while a traditional approach would have been effective for others. When we reached the database and MySQL module, I think that the traditional approach may have been better due to the unfamiliarity of the content.”

Did you find repeating the practice WODs to be useful?

“Practice WODs” are homework assignments: short problems with an accompanying solution video showing me solving the problem in a timed manner. I recommended that students repeat the home work assignment until they could complete it relatively quickly (i.e. close to my time).

66% (10/15) of the students thought that repeating the practice WODs was useful. Some of the comments by these students:

“Absolutely. Practice makes perfect. This is how everything works in life. The way I did things this semester was usually to do the WOD normally, then write my blog posting. I would then take a day break and redo the WODs on Tueday evening (or sometimes Wednesday early morning) as practice for the upcoming in class WOD.”

“Repeating the WODs were very useful. It helped me learn how to code efficiently especially with a time-limit involved. Usually if there are no time-limits, I would be all over the place while coding. This is especially the case when there are many files to code and it will be easy to lose track of what/where you are coding.”

“Yes, repeating practice WODs were very useful. Even if I had watched the solution video after the first attempt, I found that when I repeated the exercise again, I would know what steps to take and why I was taking them. It was a refreshing learning experience that I never had before in any of my other ICS classes.”

“Yes, I found repeating the WODS useful because practice makes…better. During an initial attempt at the WODs, I may have implemented a solution that achieved the goal but was inefficient or poorly coded. Being able to watch the solution and repeat the WODs helped to solidify the material we were learning.”

“Yes, I found that it was particularly useful if I was not familiar with the material of the module for that particular week. I viewed each practice WOD as a time trial, or a race, and each run through gave me an opportunity to make my time better so that I would be well prepared for the in-class WOD.”

On the other hand, 5 students did not view repetition as useful. Here are some of their comments:

“Repeating the WODs were not too helpful because by the 3rd/ fourth WOD in the same module or the next weeks WODs that built upon a previous WOD could help reaffirm our knowledge. I also found that taking notes of what to do helped tremendously. I think having good notes should be required or could supplement repeating of a WOD.”

“Repeating the WODs was not that useful because most times I did not have to repeat the WOD and I would still remember how to do most if not all techniques learned while doing the WOD. It was useful sometimes though I’ll have to admit my times did improve when repeating a WOD.”

“I rarely repeated the WODs as I usually found it impractical. There was often a lot of material to cover in a short amount of time, and the WODs often took up quite a bit of that time just to do the first go around. This was especially true for weeks that had 5 WODs or 1 hour plus long WODs. I also found that just going through the WODs once was sufficient to learn most of the material, even if I didn’t get a great time.”

“Repeating the WODs was o.k. in the beginning when they were generally shorter and most of the time I would not have much trouble with them. However repeating the WODs as the semester came to a close became increasingly difficult as the WODs were much harder and they took a great deal more time.”

It is interesting to note that several of the students argued against repetition not because they felt it to be unnecessary or unhelpful, but because they didn’t feel they had enough time.

Did you feel that the practice WODs helped you to be more focused while doing homework?

There is evidence that multitasking decreases learning performance. I hypothesize that WOD-based learning provides a natural solution to this problem, since time pressure should naturally inhibit tendencies to do other things. To test this hypothesis, I asked students whether they felt the WODs helped with their “focus”.

80% (12/15) students indicated that WODs helped with their focus. Selected comments from those students include:

“Yes, because since I was timed and the goal of the WOD is to be efficient, I was forced to focus on only the task at hand until it was complete. This is something I feel that I should always remember when doing other homework for other classes.”

“Yes, because the assignments were timed I had no choice but to focus solely on the assignment until it was complete.”

“Yes because the WODs were usually small enough to be able to sit down and do it in a reasonable time span (that my attention span liked). Thus I could really focus and not get fatigued.”

“WOD-based assignments did make me focus strictly on the task at hand when doing them since I had to think about what I was doing and how it would translate into a blogpost. The time aspect of the WOD meant that you had to know what to do and put all your focus on completing that task.”

“Yes it has improved my focus because we are timing ourselves while doing the WODs so I want to finish as fast as I can, so I am focused on the WOD entirely until I DNF or give up. This only applies for this class though.”

Selected comments from the 20% of students who did not find it improved their focus includes:

“I don’t think so. I pretty much treated it as regular homework.”

“I was never very focused during the homework assignments. To be honest, a lot of the time I would stop the timer and go get a snack or something.”

“Not particularly. One of my bad habits is that I am what I call a “binge programmer.” My style has always been to sit down and do a lot of programming all at one time. Once I get into a project I’m always very focused. It’s starting things that is usually the difficult part for me. I don’t think the WODs stopped me from procrastinating at all, but then I don’t know if anything will.”

Do you think that having an in-class, graded WOD was helpful for learning?

After providing students with a week to work on the practice WODs, I gave them an in-class WOD. This is a short programming problem similar to the homework assignment. In-class WODs have a time limit depending upon the complexity of the problem. Students were thus tested not only on their ability to solve the problem, but to solve the problem quickly.

95% (14/15) students thought the in-class, graded WOD was helpful. Some of their comments:

“I loved the in class WODs and the idea of writing code under pressure. It was definitely stressful though, but that is the point.”

“I think it helps. With no prior knowledge of what the in-class WOD is going to be, it is a way to test our knowledge of what we know about the current topic. It is similar to what a quiz would be in a standard class.”

“Yes, because I was able to gauge how well I was learning the concepts of the week. Much like tests, but better because I was making use of my newly learned skills rather than being tested on knowing concepts.”

“I think it did help because in order to do well on the in class WODs, we needed to be prepared and know the material. If we only had the at home WODs, there wouldn’t be much motivation to learn the material since the solutions were so readily available.”

“The in-class WODs simply reinforced what I should have practiced beforehand. Whenever I DNF’ed an in-class WOD it was due to the fact that I didn’t practice enough beforehand. Even if I DNF’ed, I took it upon myself to get the WOD working properly as I may have to solve the same problem in the future (and in this class, every single in-class was seen again so I’m glad that I took the time to figure out the problem even if I DNF’ed the in-class WOD).”

“The in-class graded WOD makes sure that we have done our homework assignments or we bomb the WOD. This gives motivation to do the homework WODs multiple times so that we are prepared for the in class graded WOD. The only downside of the inclass WOD is that many times I know I could have done better or finished the WOD if I had more time.”

“In-class WOD’s were helpful for me since they served as a review of the concepts that I have learned during that week. The time limit did make things stressful but not something I find unfair since time was a key concept for this semester.”

Some of the comments were mixtures of positive and negative. Here are some of the issues raised:

“In a way yes it was very helpful my only problem was that I tend to make minor errors and it becomes troublesome to find them.”

“Not really, it did see if you were fast at programing but I don’t think it is that important. Maybe it would be easier if class was later in the day so people could wake up.”

“For the most part I didn’t have much problem with having graded in class assignments. There were some days however where I wasn’t feeling too good or was just off my luck and it felt a bit unfair to grade on those.”

Do you feel you became more comfortable “programming under pressure” over the course of the semester?

Pressure is a part of a software developers life; starting at the interview which typically requires the applicant to solve a programming problem. I told the students at the start of the semester that a goal of the class was to help them become more comfortable with time-limited problem solving.

80% (12/15) of the students indicated they became more comfortable during the class. Their comments included:

“I definitely do feel like I can code under pressure better now. It was especially nerve wrecking during the first few weeks – but I actually got “used to it” mid way through the semester and the pressure wasn’t really there anymore.”

“I do feel more comfortable programming under pressure. It is a great skill to learn and it applies to all my other classes as well.”

“Yes, when I look at my WOD envelope, I can see that my scores improved a lot over the semester (I was only getting DNF or Sd for the first few in class WODs). Almost after every in-class WOD, we would include 3 emotions in the email, and I realized around the second half of the semester that I was generally calm throughout the exercises and not as nervous as I was in the beginning.”

“I feel like I have become more accustomed to programming under pressure since it was something I had to do on a weekly basis for this class. I was somewhat used to programming under pressure since I did a lot of last-minute changes to previous projects but nothing to the extent introduced in this class.”

“Yes, it felt like I became numb to the pressure. I can deal with the stress better.”

Those that responded negatively said that either they were already comfortable programming under pressure so the class didn’t increase the feeling, or that they have “never been good with pressure and never will be”, so the class didn’t change anything.

Did you like being able to leave the room after finishing the in-class WOD?

There was a lounge area outside the classroom. I encouraged students to go to the lounge area after finishing the WOD.

73% (11/15) liked being able to leave the room. Their comments included:

“Whenever I finished a WOD, I always went outside to have a discussion with other students about how they implemented the WOD. It is nice to get insight from an alternative perspective.”

“Yes because it helped give some incentive to study and finish quicker. Also, it helped us unwind and calm down.”

“When I finish a WOD early, I love to leave the room so I can socialize with friends and ask about how they implemented the WOD.”

“Yes, because it allows you to relax rather than just sitting in the classroom while other people are still working.”

“I liked leaving the room after a WOD because it gave the class a time to chat about the WODs and get to meet each other.”

“Yes, it’s free time to talk with my classmates. Who wouldn’t like that?”

Well, it turns out that some of the students didn’t like that. Here are some of the negative responses:

“No, I would have much rather preferred that the WODs take the entire class time or that I would not have to leave the room. It’s nice to have the option (in case I have to use the restroom) and I understand why (to avoid cheating) but I would have preferred to just sit in class after completing the WOD.”

“No, I’m lazy and walking outside is a waste of energy.”

“If I am DNFing a WOD then I would feel more comfortable if I don’t know how many people have finished. If everyone starts leaving and I’m one the last people, I feel rushed and I’m not sure what the DNF time is and might not even finish the WOD even though I know I can.”

“For the most part, I feel neutral about this. I think I would have liked it better if the submission instructions were given at the start of class so we could leave after finishing and submitting the WOD.”

Did the in-class WODs produce any competitive feelings within you, such that you wanted to finish earlier than some others in the class?

The explicit motivation for good performance on WODs is that one’s grade depends upon it. Since WODs are performed in a group setting, I asked this question to determine if competition might provide a secondary, implicit motivation for performing well on WODs.

66% (10/15) students reported that the WODs did produce competitive feelings. Comments from those who felt competitive included:

“Yes this competition is fun! That is the main reason why I play games and sports for competition. Competition makes you want to do better or at least keep up with the competition.”

“I can get pretty competitive and I feel really bad if I’m not in the top so having those competitive feelings definitely pushed me to do my homework and complete the WODs faster which meant I had to understand the topics as well.”

“In a way, I think the WODs did inadvertently produced competitive feelings but it was not a negative feeling. Rather, it was a great way to push me to work harder if I felt that I was lagging behind my fellow classmates. Also, it becomes really rewarding when you’re the first one to walk out of the class and it becomes clear that its the “fruit of your labor”.

“It absolutely was a positive thing, for me at least. It actually added a “fun” aspect to it. It was exciting to see if I could finish before the majority of the class (I usually couldn’t!). Since you had students leave the class, it would be embarrassing if we were one of the last people remaining. In hindsight, the peer pressure probably made me work harder and prepare better for the WODs.”

“The competitive feeling is a good thing, especially when it comes to software engineering. It is great to be competitive or else it would be difficult to land jobs or projects, since companies will definitely hire the better programmer.”

Comments from those who did not feel competitive included:

“I’m not really concerned with what my classmates are doing so I never felt that I was competing with them. I think the competitive feelings were internal and that I was competing against myself to do better than last time or get Rx time.”

“It is a great feeling to be one of the first people to finish an in-class WOD but I do have a tendency to doubt my solution when it happens. The first WOD’s, I did try to finish as fast as possible but as things got more complicated, I was okay with taking a slower approach to the WOD’s since the time does not factor into grade (except for DNF times). A competitive feel can sometimes result in a higher-quality product but I did not view these WOD’s as a competition.”

“I didn’t feel the need to compete with my peers in this course, although whenever people left before the class before I did, it made me think about practicing more.”

Do you feel that doing WODs has helped you feel more confident about your software development capabilities?

80% (12/15) of the students indicated that they helped. Comments included:

“Yes because it really made me think more about my coding and helped me to become a better programmer. It helped me become a little more confident and helped to understand the writing process a little more.”

“I believe the WOD’s helped me be more confident about my software development capabilities since it did teach me how to do things in a timely manner. The constant repeating of concepts helps me remember how to do things and they did introduce a lot of new things in bit-sized assignments.”

“Yes, it has taught me to become more confident in my abilities because I know that I am capable of completing a task in a recommended amount of time.”

“Yes the time pressure is a good experience which will prepare us for real life situations. Knowing that you can code fast and properly is a good motivation booster.”

“Yes, I feel that being able to code in a time efficient manner shows how proficient you are in creating applications. The WODs taught me that it is possible to develop applications faster and that I should strive to accomplish these tasks faster.”

“Yes, because we were producing some pretty cool things (that were difficult to implement) in short amounts of time.”

“I can easily say that I feel like a stronger software developer after this class – but probably not necessarily a better “coder”. The most useful thing I learned for this class was how to collaborate with others, using tools like GitHub and Hangouts.”

Comments from those who didn’t feel the class made them more confident included:

“It’s hard to answer this. I think it will be easier to answer this question after the semester when I try to apply what I’ve learned here to other projects and assignments. I do feel much more confident developing in the Play framework as well as learning to use different API’s and libraries.”

“I thought I was pretty fast at coding, but I realized I’m much slower than I thought compared to others, so I guess it damaged my confidence a little…”

“Not really. I’m not too sure why. I would expect it to make me a better “extreme” programmer. Maybe I just haven’t had a chance to test it out.”

Before each WOD, I asked you to reflect on your homework, exercise, breakfast, and sleep (HEBS). Do you think this is useful?

87% of the students did not find HEBS to be useful.

At the beginning of the semester, I hypothesized that the HEBS Score would be useful to students. According to survey responses, it was not! Only two students responded positively, and both said it showed them that doing the homework was important for doing well on the WOD. (There are simpler ways than the HEBS score to figure that out.)

Here are selected comments:

“Not really, I did not see any particular trend in any of the HEBS area. But I do believe that they are important. It may encourage people to do them.”

“No because I usually never ate or exercised and I felt like I did ok. Plus after eating I often feel more sleepy than revitalized.”

“Since I tend to not change my habits much, my HEBS score did not get altered as the semester went on. I did read the results when they were posted which was interesting but I did not change my habits to reflect “better” HEBS scores.”

“Not really. I go to sleep very late, don’t eat breakfast, and don’t exercise too much during the school week. I [provide the same HEBS score every time] and get passing grades during the WOD. This makes me feel like I don’t need that stuff to function, BUT I DO!”

“Not really. As the semester went on, my routine got fairly cemented and so I got homework, exercise, breakfast and sleep where I could. If I had to stay up late at night to finish the homework for the week, that was better than worrying about my hebs score. Also, Tuesdays I worked all day and then had to do homework, so I basically never was going to have the opportunity to get exercise the day before, aside from what my work provided.”

I want to conclude by thanking the students for their insightful comments.