Showing posts with label CS 222. Show all posts
Showing posts with label CS 222. Show all posts

Friday, June 4, 2021

Thanks COVID-19, but you can leave now…

Picture of my office, including a book shelf and whiteboard
As it did for all teachers, starting mid-March 2020, the COVID-19 pandemic changed how I interacted with the learners in my courses and the learning environment I was able to provide for them. Although different each successive semester, these changes carried forward through spring 2021. In the following paragraphs, I briefly describe the pandemic's impact on my teaching and the pedagogical changes I made each semester.

General themes

There were a few overarching themes during the last year that are not specific to any one semester. During this time, I recorded a higher percentage of incompletes for learners, especially for the spring 2020 semester. All students ultimately completed the course work in a timely manner. I discovered the possibility of conducting “office hours” via Zoom, as opposed to meeting with learners in my physical office on campus. This opened up the possibility of being much more flexible about my availability to offer help, as I could do it from “anywhere.” This is something I carried forward, even after distancing restrictions were lifted. I have become much more compassionate and considerate of learners’ life circumstances. One example of this is providing flexible due dates for assignments and projects. I also had a higher percentage of learners absent than usual, due to illnesses and their need to quarantine after being in close contact with someone who tested positive for COVID. I accommodated them with a more flexible attendance policy. I discovered that Zoom breakout rooms are a reasonable substitute for small group discussions in the classroom, and that they are even better when I use the random room assignment to mix up discussions..

Spring 2020

With Ball State’s pivot to emergency remote learning (due to the pandemic) effective March 16, 2020, I suddenly shifted from teaching four face-to-face, in-person courses, to having all of them online. Although I had previously taught a few sections of CS 110 (Introduction to Computer Science and Web Programming) asynchronously online many years prior, this was a substantial change in course delivery for me.

I decided to meet synchronously with my three sections of CS 120 (Computer Science 1) via WebEx each Monday during the normally scheduled class time to orient the learners and make sure they understood what I expected of them for the week. I quickly learned that—because of my use of a flipped learning environment—this course would transition fairly well to emergency remote learning. The class time previously consisted of learners working in pairs to complete a programming task (with myself and teaching assistants present to answer questions), so they were already used to working somewhat independent of direct instruction from me during class time. I recorded very brief videos introducing each remaining activity (which I made available through Canvas, our learning management system), that replaced what I would have delivered in person at the start of class. I also transitioned the in-class chapter quizzes and exams to quizzes/exams in Canvas. Normally, these would have been closed-book, but since I had no reasonable way to enforce that, I chose to make them open-book, but timed-limited. I’m sure a few learners benefited from the open-book policy, but I did not observe a significant increase in exam grades.

My HONR 296 (Computer Science and Algorithms to Live By) course was a bit more challenging to transition, due to half of the time previously being discussion-based and the other half hands-on activities during class time, usually in small groups. I chose to meet with the learners synchronously via WebEx each week for half of the class time to facilitate discussion and provided detailed written instructions for them to follow on their own to perform what would have normally been the in-class activities. All things considered, this worked fairly well, given the circumstances.

In all courses, there was a very small number of learners who were not able to meet with the class during the scheduled synchronous meetings. I made accommodations, as needed, for these learners. I also made myself very available for online “office hours” via WebEx, meeting with learners whenever they had a need, provided it fit in my schedule, which it generally did. I received comments from many students that my courses had transitioned the best of any of the courses they were taking that semester.

Summer 2020

BSU required all summer courses be taught online during 2020, with the expectation that they would be delivered asynchronously. I requested that I be able to teach CS 222 (Advanced Programming) synchronously online and was granted a waiver to do so. I had concerns about how the course would translate to online delivery and considered the synchronous online delivery to be as close to in-person, on-campus delivery as possible. As it turned out, due to the heavy use of small group activities (which translated into breakout rooms reasonably well) and scheduled team work days, this approach worked better than I expected.

Fall 2020

During the fall semester, I taught two section of CS 222, my immersive learning course (Computer Science for Muncie (and Surrounding) Schools (CS4MS+)), and HONR 296. I taught both sections of CS 222 synchronously online (again, I had to request for a waiver to do so), while the other two courses were taught in-person on-campus. Since I had taught CS 222 synchronously online during the summer, I simply made some minor adjustments to my delivery of the course, based on my summer experiences. Even though CS4MS+ and HONR 296 had social distancing requirements in the classroom, instructional spaces were available for me to use so that the entire class could meet at the same time. I made minor adjustments in delivery of these two courses so that learners could maintain social distancing requirements.

Starting fall semester, the university provided us access to Zoom, as well as WebEx. I chose Zoom moving forward.

The major impact the pandemic had on the courses I taught fall semester was that the CS4MS+ learners were not able to physically meet with the community partner teachers and students. Although not ideal, we managed fairly well utilizing Zoom meetings to meet with the school administration and teachers but did not have any opportunities to interact with the students.

Spring 2021

Similar to the previous semesters, spring 2021 continued to bring changes. I taught two sections of CS 120, two sections of CS 239 (Social and Professional Issues), CS4MS+, HONR 296, and mentored an Honors College learner on their honors thesis. All courses were taught in-person, on-campus, with the exception of the honors thesis and HONR 296, which was delivered asynchronously online at the request of the Honors College administration. Similar to fall semester, instructional spaces were available to accommodate all learners in the course at the same time.

So the room could be utilized at its normal capacity, we installed clear protective barriers between the computer work spaces in the room where CS 120 met. Normally, CS 120 heavily utilizes pair programming, where two learners share one computer to develop solutions to daily in-class activities, but this was not feasible with COVID protocols. I still had the learners work in pairs, but on separate computers. Thus, it was more of a consultant role than pair programming, but still seemed to work acceptably well.

I normally use small group discussions in CS 239 and was pleased to find the learners could still hold discussions even while maintaining the appropriate distance from each other. Once again, the CS4MS+ learners were not able to physically meet with the community partner teachers and students, although they did arrange for a few Zoom presentations with some of the middle schools’ students during their classes.

HONR 296 was the major change for spring semester, as it was the first time I delivered the course asynchronously online. Since I finished HONR 296 online during spring 2020, I had previously reworked a few of the in-class activities. I updated the rest of them so that they could be completed individually, or with roommates or family members, etc. I also shifted what would have been in-class discussions to Canvas discussion boards. Not being able to have the learners present their final projects to the rest of the class is my only major disappointment. In retrospect, I could have had each learner record (audio or video) their presentation and shared the recordings with all other learners. I believe the course is better taught in-person in a classroom, but the asynchronous online delivery worked much better than I expected it would. I am willing to teach it in that modality again, if needed.

In summary…

The last year of teaching has been an interesting, tiring, exciting, and learning experience. I did not experience any failures but did discover a few things I could do better if I were to do them again. Not that I want to experience another year like I just did, but I am thankful to have had the opportunity to learn from it.

Were it not for the fact that I had to do some things differently, I likely would not now know that holding office hours via Zoom is very viable, and perhaps even better than sitting in my office waiting for learners to show up. Nor would I have realized that I can deliver a course online by using breakout rooms to facilitate what would have been small group discussions in the classroom. I was forced to further explore the use of Canvas discussion boards and modules and now understand their use and worth, especially for asynchronous on-line courses, but have thoughts about how I can use them in other modalities as well.

But the most significant impact the pandemic had on me is that I am now a much more compassionate and understand human being, teacher, and mentor, and am willing to try to better understand the life experiences of my learners so I can do what I can to make the learning environment more equitable for them. So, thanks COVID-19 for changing me. But you can leave now. Please!

What was your experience teaching during the last year? Share them in the comment area below. 

P.S. The above photo is a picture I took of my office the last day I was on campus in March 2020, before being exiled to my home. I used it for my Zoom virtual background to make it look like I was sitting in my office. It was one small way I could provide a bit or normalcy for those I was meeting with, although it did confuse a few people who know that I should not be in my office at the time. Included in the picture is the container of lemonade mix I mentioned in my Of lemons and lemonade on Friday, the 13th of March, 2020 post.

Sunday, December 27, 2020

The teacher becomes the learner: Reflections and wrap-up

Concluding my intentional path to explore what I can learn to become a better teacher in a remote synchronous online learning environment, here's part 6 of 6. I participated in a Faculty Learning Community (FLC) sponsored by the Division of Online and Strategic Learning of Ball State University. I have periodically posted my reflections in this blog to document my progress, and to serve as a resource for a future me, as I come back to review these posts. Perhaps there will be something of use for other readers that aren't me.

Module 6: Reflections and wrap-up

This module focused our reflection on our experiences during the fall semester. The following reflections summarize my experiences and observations.

At the start of the semester…

I felt pretty comfortable and ready to teach remote synchronous classes. Having finished spring semester, and then summer semester teaching in remote synchronous modality, I was not a newbie at the start of fall semester. Zoom was something new, as I had been using WebEx previously. Although I had participated in many Zoom meetings during the spring and summer, I had not initiated or hosted those meetings, so there were a few things to learn.

Now that the semester has completed, I feel…

I had a very successful semester teaching two sections of what is usually a very challenging course for most learners--CS 222, Advanced Programming--in a remote synchronous mdaility. This was the same course I taught in the summer, and both semesters it seems to have translated well to remote synchronous modality. I do believe it is a bit better taught in a physical classroom, but it worked better than I thought it might when I was preparing to teach it last May.

After reviewing and reflecting on the course evaluations learners provided at the end of the semester my perceptions of a good semester were affirmed. In fact (assuming you believe there is merit in these evaluations), the combined "overall rating of instructor" I received for my two remote synchronous courses (two sections of the same course) were higher (4.6 out of 5) than when I taught the same course a year ago in a classroom (3.6 out of 5). I believe the learners may have been a bit forgiving of the circumstances in which we all found ourselves. I also wonder how much of the difference was that I was teaching in a remote synchronous modality, as opposed to the rest of their courses being asynchronous modality. Maybe I was the lesser of two evils, and looked good, by comparison!

I struggled…

My biggest challenge was building community within the class. This course heavily uses group projects for most of the semester. My sense is that most of the groups formed a community, but the full class, not so much. Due to most of the learners leaving their cameras off, I do not know what most of them look like, and thus will not recognize them when I see them in the future. This will be interesting during future semesters. I have always struggled to learn names but am decent at remembering faces. If I have a learner from this semester in a future course, I will likely not recognize them, nor know their name!

I was pleasantly surprised…

The use of Zoom breakout rooms can actually be better than small group discussions in a classroom due to the ability to randomly assign learners to a room, and thus have learners talk with different people. In a classroom, learners are not likely to get up and walk across the room to talk with a “stranger”. A downside is that for short discussions it is not possible for me to visit all of the rooms, while I could easily walk around a classroom and hear their discussions.

I was able to use the chat window before class started to have learners respond to a “fun” prompt in an attempt to build community. Sometimes the prompt was related to the course, but most of the time it was not. This was a substitute for me talking with a few learners while we waited for the start of class. I will have to think about how I might replicate that in a classroom, but it did generate some interesting interactions amongst the learners.

The ability to meet learners using Zoom meant that I did not have to be in my campus office, yet could still meet with them. This provided for very flexible meeting times for both me and the learners.

Some observations...

I should pay attention to the following when teaching in a remote synchronous modality (although it won't hurt to do it for all modality).

  • Intentionally work to build community
  • Extra communication and feedback is critical
  • Be flexible
  • Expect the unexpected

The impact moving forward…

I do not think there is much I will do differently the next time I teach in remote synchronous modality. I do think I will continue holding many of my office hours virtually regardless of my modality of teaching, however. I also think any changes I made to make the course better for remote synchronous modality will be left in place, as they should make an on-campus version of the course better as well.

And the bottom line is…

I will seriously consider teaching in a remote synchronous modality in the future. I still firmly believe courses taught in-person, in a classroom provide the best learning opportunity for most learners. However, remote synchronous learning provides a close substitute, and does provide the opportunity for learners (and the instructor) to attend class without physically being present on campus. A year ago, I would not have believed this course would translate to an online modality as well as it did. I believe the course being taught synchronously, as compared to asynchronously, made the difference. Thanks to COVID-19, I had the opportunity to find out.



Sunday, December 22, 2019

Popular achievements in CS 222: Fall 2019 edition

I'd planned to write this post each spring, after completing an academic year. However, I'm not scheduled to teach CS 222 next semester, so I decided to report on the last two semesters now. As discussed in my previous post, one of the assessible items in CS 222 (Advanced Programming) is something we call achievements. Achievements are designed to encourage student’s independent exploration of relevant course topics they choose from a provided list. Each student must complete a certain quantity of achievements if they expect to receive an A for the course, and reduced quantities for lower grades.

Originally, I set the threshold for an A at four achievements. To be more learner-centered, starting with the fall 2018 semester, I had the students collectively negotiate the threshold with me. Depending on the semester, it has been three to five achievements for the A level.

The list of available achievements has remained the same and is detailed in my original CS 222 achievements post, with the addition of Learning to Learn, introduced for fall 2018, and discussed in my spring 2019 post.

The following table presents statistics from the most recent six semesters I’ve taught the course, along with a couple of summary columns. I find it interesting to look through the table to see what is popular (and what is not). For example, considering all semesters, the Diversity Seeker and Reflective Practitioner achievements have clearly been the most popular. Coming in next are the Crystallizer and Studious achievements. These four remain in the same relationship as last spring, although Crystallizer has gained slightly in popularity. Looking at the last year, the top three remain the same, but Studious has dropped down the list, and is replaced by Rereader. Looking at individual semesters, the Fair-minded, Judge, and Learning to Learn achievements have also been very popular. The recently-added Learning to Learn achievement has proven to be quite popular, ranking fifth during the last year.



Five achievements (Campus Leader, Didact, Filmmaker, Jammer, and Open Source Contributor) have Continued to be the least popular. I have chosen to leave these as options for students with interest or skill in one of those areas, but will likely drop (some of) them the next time I teach the course. Note that the Third-part Librarian achievement was removed from the available options after the summer 2016 semester.

Lastly, I’ve found the number of achievements students choose to complete interesting. While a great many students do complete the required quantity, the majority do not. As shown in the table, the average for all semesters is just over three completed achievements per student. Due to a one-submission-per-week limitation, and their poor planning, some students simply run out of time to get all of them submitted. The slight increase for the spring 2019 semester is likely due to the threshold for an A being at five, as compared to four for other semesters. However the fall 2019 threshold was four, and resulted in nearly the same level of submissions. The threshold for the Summer 2019 semester was three, with all students meeting it.

I believe the achievement system continues to meet its intended purpose within the course. I do not observe any substantial changes in popularity as reported in my original report and last spring's report. My colleague, Paul Gestwicki, is teaching the course in the spring, and has chosen to make some adjustments to the achievement options, which I believe will be a positive change. You can read about his preparation for CS 222 in his blog post.

Friday, July 12, 2019

Am I in the right major?

Doubting girl
Last fall, a student from my CS 222: Advanced Programming course sent me an email expressing concern about them choosing computer science as their major. The email said:
I just had a question concerning life outside of college. This first project that we just completed: is that what real work will be like in the real world? With 20+ hours of research for a small part of code? I’m just starting to question if I’m in the right major considering I couldn’t get this first project to work.

The student appeared to feel like they were “drowning,” and not accomplishing what they needed to be doing for the course. This was causing them to doubt their choice of major, wondering if they were really going to enjoy it in the future.

I’ve written some about the CS 222 course before. (What we learned—Fall 2017, and Spring 2018, and Popular achievements—Spring 2018 and Spring 2019.) The course, by design, tends to “throw the students in the pool, and encourage them to (learn how to) swim, while I stand by the side with a reach pole in case someone starts to drown.” This does not mean that I don’t provide instruction and scaffolding, but one of the objectives of the course is for the students to learning how to learn, something computer scientists are going to have to do their entire profession. As such, the course is structured such that the students have to find much of the details and skills themselves as the semester progresses.

So, how did I respond to the student? Here’s my response.

Fair question. Mostly, the answer is a resounding no.

As you become more experienced, there is less you will need to research. If you don’t recall how to do something you’ve done before, you’re likely to understand the overall idea, and just need to be reminded of the details. If you’re needing to do something new, it’s not likely to take you as long to find a solution because your past experience will lead you to an answer quicker, or often provide some of the background knowledge you need to understand the new task.
Boy tying shoe
When you first learned how to tie your shoes, you likely struggled greatly, and had to keep going back to Mom or Dad for reminders. At some point you were able to reliably do it on your own—if you really concentrated. Days/weeks/months(?) later you got so experienced with tying your shoes you could do it without even thinking about what you were doing.

But then there was likely something else you needed to learn, and the process started again. Life is about continuing to learn. Stop learning, and you stagnate.

Am I suggesting you’ll never struggle getting code to work, and end up spending 10-20-30 hours trying to figure out why? No. Inevitably that will happen on occasion. I believe it will happen less and less as you become more experienced, however.

Hang in there. If you enjoy challenges, problem solving, and coding, I believe you’ll do well. If you want to talk more some time, let me know. I’m always glad to do so.

Did I provide the right response to this student? Would you have responded differently? Leave me a comment below and let me know what you think.

By the way, the student finished the course with an A, continued with the computer science major, and landed a very successful internship this summer. When I contacted the student for permission to include their quote, they also replied with the following:

With my internship experience now I have had to research things to be able to complete a program, but I have found that it doesn't take up as much of my time as I thought it would. I thoroughly enjoy the position I am at now and found that your response was very true in relation to this internship. I am very glad that I reached out to you and received your response in the fall, without it I may have changed majors.
Sometimes you have more of an impact on others than you realize at the time.

Student quotes are included with permission.
Image credits:
Doubting girl: https://publicdomainvectors.org
Boy tying shoe: http://www.clker.com