Showing posts with label self efficacy. Show all posts
Showing posts with label self efficacy. Show all posts

Friday, July 25, 2025

Reflecting on roadblocks

A city street with a barricade blocking the road. A sign on the barricade reads "road closed to thru traffic."

How do you overcome roadblocks?

During the middle of the courses I teach, I have an assignment wherein I ask the learners (via a few prompts) to reflect on how they are doing in the course, and to consider what they need to do to accomplish their goals for the course by the end of the semester. 

The last prompt I provide in this assignment asks the learner if they have any questions for me. Seldom do I receive any serious questions as a result of that prompt. When I do, they are usually fairly simple and straightforward to answer. 

However, occasionally I receive a question that causes me to reflect a bit before I am able to respond with (what I hope will be) a helpful answer. I received one of those questions last fall, and decided to provide it and my response here for others to reflect on it as well, in the hopes that someone else may find it helpful. What follows is a transcription of the email I sent to the learner, along with their response.

My email response

I really appreciate the thoughtful reflections you shared in your Mid-semester self-assessment report. At the end of it, you wrote:
 My only question is if there was at any point in your career where you felt like you've hit a roadblock in CS; and if so, how did you overcome it? After my first year as a CS student in college, I felt like I hit a roadblock after feeling so behind compared to everyone else and I struggled to overcome this. I understand CS is an ever changing field with platforms and new advancements always being added so it is important to always hone your skills while remaining proactive and positive. Regarding this, I know at some point again in my CS career as a student finishing my last two years in undergrad with a plan to attend grad school, I know I will eventually hit another roadblock to overcome some obstacle. I was wondering if you have any advice about overcoming these “roadblocks,” if you've hit one during or had a similar challenge throughout your CS career thus far?
To which I’ll respond with a resounding YES! I’ve hit roadblocks and experienced imposter phenomenon many times. 
 
Thinking back to when I was an undergrad learning CS is a few too many decades for me to precisely remember my experiences, but I’m sure I had roadblocks and doubted myself then. After graduating, I landed a job as a programmer for a company here in Muncie. I was with that company for nearly 30 years—until they didn't need me anymore. I’ve written about that experience in a blog post that you may enjoy reading. Here’s another blog post that tracks my journey from HS to now, as well. (I’ll not continue to link to other blog posts, but if you have time and interest, there may be others you’ll find interesting to read.)
 
For the last 17 years, I’ve either been in grad school (2.5 years) or teaching here at BSU. I certainly questioned myself as a 50 year old going back to college as a grad student. How was a 50-something going to keep up and be accepted by the other 20-something learners? But I persisted, and discovered it was very doable, and people were very welcoming. I’m now in my 15th year teaching full time at Ball State University. Especially during the first decade of teaching—but still now—I experienced doubts about being “qualified” to teach. Do I know enough? Am I providing the best learning environment for the learners? Am I being understanding of their needs and challenges?
 
These questions all led me to focus my research on education and learning, more so than on CS research. But even with better understanding of ways of teaching and learning, I continue to explore what I might be able to do to be a better teacher. Those thoughts of “am I enough” and “am I delivering enough” always haunt me.
 
I think, to a large extent, people who doubt themselves are the ones who take time to reflect on their lives and what they are accomplishing. People who have no doubts about themselves likely are not doing much (any?) reflection. I’ve found that growth mostly comes to those who are seeking growth—those who reflect on their current experience and consider how they’d like it to change.
 
So, I see the fact that you are doubting yourself as a good thing—you’re wanting to grow! Keep doing that.
 
I’ll be glad to talk more, if you’re ever interested in doing so. I also want to thank you for posing your questions. It’s forced me to take a step back and reflect a bit.

The learner's response

(Included with the learner's permission.)
Thank you for your detailed response to my question. I appreciate you including your blog postings, I really enjoyed reading them.

After reading your blog from 2017, I was inspired how you overcame your unfortunate dismal from the company you were working at from 1979–2007. I am glad that the “last pieces fell into place” for you, and you were able to continue your journey in CS as an official graduate student at BSU. I understand why it must’ve been difficult learning new languages after working in the industry for nearly thirty years and how you felt conflicted to teach your students since the weight of not knowing if you were “qualified” enough was haunting you at the time. After reading this, I realized this was your version of hitting a “roadblock” along with experiencing a case of the imposter phenomenon. 

Your experience is similar to how I feel at times; unsure about my skills and not fully knowing if I’ll be able to achieve a certain project. Despite your “roadblock” and uncertainty, you continued forward on your journey and achieved many things thus far, such as: presenting papers, publishing in journals and books, along with helping all of your students, myself included, at BSU since 2010. From your second blog from 2022, it was interesting reading about your journey from high school to Manchester University, to graduate school, and to eventually your current position–a senior professor at BSU.

Reflecting on my initial “roadblock” question after reading about your experiences, I know now that there is no easy road to take when confronted with an obstacle–there is no clear left/right path. There is, however, an upward path to overcome that brick wall and simply climb over it. Of course, this is easier said than done, but after reading about your journey it is possible with discipline, perseverance, and determination. The next time I hit a “roadblock,” I will reach towards that upward path and climb over the brick wall to search for the silver lining–just as you have.

I want to thank you for your encouraging words; I do want to grow, and I will continue to have this mindset that doubting myself will allow me to prosper as an individual and a CS student by reflecting on my past experiences and accomplishments.

Your reflection and response

Now it's your turn to reflect.
  • What would have been your response to the learner's question?
  • What insights or advice would you have offered different from what I provided?
  • How have you navigated roadblocks in your life? 
  • Have they taken you in directions you did not expect?
I look forward to receiving your responses in the comments.

Image credits: https://stock.adobe.com/

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

Friday, February 9, 2018

Of programming projects, specifications grading, students dropping my course, and Charles Dickens



With apologies to Charles Dickens… It was the worst of days. It was the best of days.

Yinn Yang symbolMy day started by learning that a student had dropped my CS 120 course. Yes, I’m usually a bit saddened when this happens, but I understand there are lots of reasons students drop a course for which they’ve enrolled, and that most of those reasons have nothing or little to do with me. But this time it was different; the initial reason she gave to me for her dropping the course was how I was grading her work. I was particularly saddened and discouraged that I appeared to be the major reason for her dropping the course. Further, since there are few females who enroll in computer science courses, I really like to keep the few who do enroll. To think I might have chased one away was unacceptable to me.

I am utilizing specifications grading for the first time in our CS 120 course this semester. (Read my previous discussion of specifications grading in a different course.) This course serves as our first introduction to programming for our students. I am evaluating most assessable items in the course as complete/incomplete—either they fully met the detailed specifications I provided to the students, or they did not. I am evaluating the outside-of-class, work-by-yourself projects based on an A-F scale, where students must complete certain specifications to earn a given grade. The better the grade, the more items that have to be successfully completed. However, the highest incomplete specification determines your grade.

In the instance of this student, she completed nearly all specifications correctly, and would have received an A, except for two of the lower-level specifications which were required for a grade of C. As a result, I recorded a grade of D for her, as I described would happen in the project specifications document. The items she did not complete should have been relatively easy to complete; that’s why they were at the C grade level. She took exception to this, saying her program generated the correct answer, so therefore she deserved an A, and felt it was totally unfair to receive a D. Further, she stated that she was thinking about dropping the course. I do have some empathy for her stance; it does seem a bit unfair. On the other hand, had she paid a bit more attention to details, she could have easily earned an A. Further, I’ve provided for this sort of situation by providing every student four Oops Bits at the start of the semester. These Oops Bit can be used to resubmit a variety of assessable items which are not completed successfully on the first submission, or can be used to gain an extra day to complete an assignment.

In an attempt to try to help her understand my rationale for establishing the grading for the project in the way I did, I asked her to consider this analogy.

What if you were an excellent employee, and there were few people that could do your job better, but you had a hard time showing up to work on time, maybe even missing some days altogether. Most employers would not be willing to keep you as an employee—even though your work was excellent when you showed up—because they couldn’t depend on you showing up, a fundamental quality of a good employee. They would be more likely to retain the employee they could depend on, even if their work quality was a bit lower.

Up to this point, our conversation about her grade was all via e-mail. I encouraged her to meet with me in person to discuss the situation further, and she agreed. We met yesterday and had a relatively pleasant, healthy conversation for nearly an hour about specifications grading, and how I had structured the specifications for this particular project. One thing I asked her to do was to arrange the items in the project specifications into what she considered to be a better set of requirements for each grade. My intent in asking her to do so was twofold: I was truly curious how a student would arrange the list, and I wanted her to critically think about what qualities of the project justified an A versus a B, etc. She obliged and came up with the following list. The first two columns in this table indicate what is required for a given grade. All items below a particular grade are required as well. If any of the items marked as a grade of D are missing, a grade of F would be recorded. The first column is how I organized the list, and the second column is her ordering. (I’ve arranged the list based on my specifications for the project.)

My grade category
Student grade category
Assessable item description
A
A
Program accurately creates all 31 possible versions of the shifted alphabet
A
A
Program accurately lists all 31 possible translations, based on character shifts of 0 through 30 positions to the right
A
A
At the end of your reflection paper, tell me to what this encoded message translates.
B
B
Program lists all 31 possible translations, based on character shifts of 0 through 30 positions to the right (correct or not)
B
C
Program uses descriptive function and variable names
B
D
Program capitalizes the input parameter value
C
C
Program is formatted/indented similar to the text book authors’ examples
C
D
ALL files for the project are placed into a folder named project0. Compress this folder. Submit this compressed folder.
D
B
Reflection paper completed and submitted according to specifications provided in Canvas
D
C
Program will run in JES
D
C
Program uses the character set provided
D
D
Program will load in JES
C

Program accepts one input parameter

I’ve highlighted the items where there was a difference in our ordering. The items highlighted in yellow are one grade different, sometimes higher, and sometimes lower. The darker highlighting are items with a difference of two grades, again in both directions. I find it interesting that most of the ordering is relatively similar. I also find it interesting to see what this student valued compared to other items.

During our conversation, she shared some about other courses she is taking this semester, and how none of them are required for her major, including CS 120. She is transferring to another university next semester, and is simply taking core courses and electives which will transfer. By the end of our conversation, I felt I’d made some progress, and asked her to give the course three more weeks before making a decision about dropping the course. This would provide her more time to experience the course, and sit for the first exam. By then, she’d have a good idea how the course was going for her. As we parted ways, I believed I’d see her in class today. Unfortunately, she did not attend, and I received word after class that she had dropped. 

Initially, I was rather discouraged to have a student drop my course because of how I am conducting the course, and specifically because of how I am grading. Upon reflection, and remembering what she shared with me during our conversation yesterday, I have come to realize her reason for dropping the course was much more than how I graded her project, and perhaps that was not even the major reason. She was taking an eighteen-credit hour load, had multiple demanding courses which are requiring significant amounts of time, and the courses are not directly required for her major. Dropping CS 120 likely bought her a lot of time to devote to other courses, and is not likely to have a significant impact on her college career. I likely would have made the same decision myself.

So, by now, I’m feeling a bit better than I was earlier in the day.

And then the student for my 5:15 PM appointment arrived.

This student is one who had met with me a few days ago because he felt he was struggling to understand the course material. When I sense a student is capable, but maybe just needs a bit of a push and assurance that they are capable—a shot of self efficacy—I will offer to set up a standing appointment to meet at the same time every week when they can come in and ask what ever questions they might have. Students are always welcome to meet with me anytime our schedules permit, but for some students, having a pre-scheduled time seems to make a significant difference in their progress. He was one of those students, and was arriving for his first appointment.

I expected that he might have a question about one of the recent activities we’d worked on in class. This was not the case. Rather, he came very prepared with a mental list of items and concepts for which he had questions, or felt like he needed clarification. We very productively moved from one topic to another, and I could tell, based on the type of follow-up questions he was asking, that he was gaining a much better understanding of the material. We worked through course material for nearly an hour, that very quickly passed—at least for me. The more I worked with him, the more he impressed me with how truly committed he is to learn and understand the course material. He was a total joy to work with.

So, was it the worst of days? Or was it the best of days?

I’m going to go with the best.