Feedback during the 3rd week of my C++ class

Dang! It is always nice to get good feedback like this.

This was in one of the mini-essays I assigned in my C++ class (reading about & discussing problem solving techniques), so I wasn’t expecting it!

“Coming into the class I was very nervous. My friend who has taken this course before by other unnamed teacher said it was the worst and that if I didn’t understand this class that I would struggle going forward. Scary right? For me it was. But as I continue to read the content you have written to teach and share with us, I am put to ease. I find myself smiling and laughing at your videos and text, which is something I did not expect coming into the class. So while I am still terrified of falling on my face, I have faith that I will make it. And that is not something that I previously thought.”

Gradschool!

ku

I got accepted to KU for their Masters in Computer Science program!

Programming for Discrete Math

I like using programming in the classroom. I’ve never seen programming really used much in any of the math classes I’ve had in the past, save from some odd MatLab projects (of course I opt for NumPy or SciLab – Go FOSS!), and sometimes reading paragraphs of math problem examples in a textbook just makes my eyes glaze over. Rather than try to demonstrate this stuff on the whiteboard, I decided to write some quick Python/PyGame programs for the examples from the textbook we’re using.

Another pro of this is that it helps me “grok” the content. I might read over something and think “yeah, that makes sense”, but I don’t really know it until I put it into practice, and the best way for me to put it into practice is to make it a program. When applying it in code, it’s more likely I’ll remember the fine details much better, just through the entire process of working on the program step-by-step.

Not sure if I’ll have my students do any coding (various prereqs, they might all know different languages), but it might be nice in the future!

Fin ‘n’ Kit DevLog #7

Beyond all the other “hidden” changes going on, I’ve been working on cutscenes for the game. For now, we’re going to keep it simple with still images rather than something really animated. Here is the cutscene system implemented, but with WIP art:

(Really, it’s just reusing the menu system to make a cutscene!)

You’re ignoring the issue – Diversity in Tech

Don’t read the comments. Sometimes, when I post a link to an article on my Facebook wall, I feel compelled to add the warning, “don’t read the comments” along with the article.

This morning I posted a link to NPR’s Why Some Diversity Thinkers Aren’t Buying The Tech Industry’s Excuses article, and the comment responses are pretty much exactly the kind of responses that I still get sporadically for having the audacity to suggest that my YouTube channel needs more women viewers on someone else’s video that highlights the same problem on their channel.

comments

Scroll through the comments in the Diversity in Tech article, and you see the same mentality…

comments2

As sick as I am of hearing the same, “They’re just not interested. Stop trying to force women and people of color into tech!!!“, this isn’t what I want to post about right now. That’s a whole other long-ass topic that needs to be researched… Which I have done some research for that re: women in CS already so you can read this if you really want to.


No, what I really want to talk about is that, by making statements like “they’re just not into it”, ignoring whether or not we’re going to argue that entire demographics of people simply aren’t interested, I cannot imagine that anybody would state that absolutely, 0% of [demographic] are not interested in computer science. I think that we can all agree that at least some of these people exist, whatever people these might be. Right? There can’t be a net total 0 women, or African American people, or Latinx people, or Native American people, or gay people, trans people, intersex people, etc. etc. etc. You would have to be pretty damn specific if you wanted to come up with a demographic of people that might not exist as a person-who-is-interested-in-tech. And heck, even I fit the demographic of a “woman-or-maybe-genderfluid/queer/indifferent, asexual, panromantic, Esperanto-speaker, dandruff-haver, piano-player” programmer – I don’t mean to be facetious, I’m just trying to highlight that a person can be many things, and still interested in tech.

OK, so my first point is, there cannot be a people of any given demographic who have zero software developers among them.

Let’s look at these handy graphs I found on this article Race and Gender Among Computer Science Majors at Stanford:

Male & Female Computer Science majors at Stanford (from Medium.com)

Male & Female Computer Science majors at Stanford (from Medium.com)

So, there exist some women. It isn’t zero women. And then we have…:

Computer Science majors by race at Stanford (from Medium.com)

Computer Science majors by race at Stanford (from Medium.com)

and the Medium article even breaks down even further with more statistics.

But my point is, it isn’t zero. So let’s stop acting like all women/PoC are simply not interested in computer science.


 

So, secondly, the idea is that these people exist, but major tech companies still cannot at least build a ratio of tech employees that mirrors what’s coming out of colleges.

But they totally could – if they really wanted to.

As Martin Fowler points out in his DiversityMediocrityIllusion post,

To understand why this is an illusionary concern, I like to consider a little thought experiment. Imagine a giant bucket that contains a hundred thousand marbles. You know that 10% of these marbles have a special sparkle that you can see when you carefully examine them. You also know that 80% of these marbles are blue and 20% pink, and that sparkles exist evenly across both colors [1]. If you were asked to pick out ten sparkly marbles, you know you could confidently go through some and pick them out. So now imagine you’re told to pick out ten marbles such that five were blue and five were pink.

I don’t think you would react by saying “that’s impossible”. After all there are two thousand pink sparkly marbles in there, getting five of them is not beyond the wit of even a man. Similarly in software, there may be less women in the software business, but there are still enough good women to fit the roles a company or a conference needs.

(By the way I love Martin Fowler)


 

The people are out there, they just take more effort to find. Part of it might include how a company finds their candidates – if they weigh references heavily, then that might only support the demographic that is most heavily represented.

If they advertise that they’re the “standard nerds” who love beer and bacon, that’s going to be a turn off to certain religions, as well as people who simply don’t enjoy alcohol (*raises hand*), and the idea of having social events at work centered around alcohol simply just doesn’t sound like much fun.

It could be where they’re posting their job ads. It could be the values that they present. It could be any number of things. But to build more diversity, some effort has to be put into it, rather than just maintaining the status quo and acting like, “well gee, why can’t these women and/or PoC just fit in with our status quo? Why do we have to change?!”

 

When I interview for a software job, I usually ask the people conducting the interview about diversity. How many women work there? What about other ethnicities, religions, and backgrounds? A majority of the time, I get a response akin to “We hire for talent, not diversity”.

That isn’t what I asked about.

During the interviews and walk-throughs, how many people are present who aren’t white men? Only one time have I been interviewed by a woman – and it was because the entire team interviewed me, not because she was the boss. At my last job, I think that there were maybe two software engineers who were women (including myself) in the group of maybe 10+ teams. There were women present as BAs and QAs, but so few as the developers.

What, are women just naturally more interested in quality assurance than software development? Back in the caves up through the agricultural revolution, women biologically evolved to QA the hunts and the crops and all of that, while men evolved the ability to program those… hunts and crops? (Seriously I’m sick of the “biological” argument in a multitude of ways, especially if we consider nonbinary genders and trans people.)


 

Ugh, ok. I’m hungry now, and I have to prep for my Java class on Thursday. I need to come up with more examples of using arrays in simple programs. Ĝis la.

Offices

Have you ever had a college instructor who didn’t have an office?

Most college instructors have office hours to help students outside of class. It’s required in most cases. So, therefore, instructors need offices. Sometimes it might be a room with several cubicles, or it could be their own room with lovely lovely sheetrock on all sides and a door.

The office also provides a nice, quiet space for the instructor to get their planning, grading, etc. done.

Is being a teacher an antisocial job? No, who would say that? You have to interact with people a lot, from your students to the other teachers and faculty of the school.

Being a teacher requires a lot of people interaction, and yet, having an office isn’t seen as somehow making a teacher less able to do their job. The office is a required part of the job.

So how come software developers are thrown in open floor-plan large rooms? The justification is usually in favor of collaboration between the developers, but if teachers get offices and can still talk to people, why can’t developers?

If it helps to have quiet while an instructor is planning, grading, or otherwise doing their non-people work, why do we not treat developers the same way, giving them a nice quiet area to get their non-people work done?

And that’s not even getting into how I can choose the hours I’m in my office, and I can choose when and where I get my non-people work done as an instructor. I do most of my class preparation at home, on my laptop that runs Linux, with my kitty cat and tea and food that I can prepare in my own kitchen.

If teachers can have this freedom and get their work done, why can’t software developers?

(No title)

random test generator

random test generator

What do you do when you want to write a take-home exam, but want to discourage students from simply copying off each other?

If you’re a programmer, you write a random exam generator. 🙂 If you’re not a programmer, then you can probably find an existing one out there much nicer than mine… but oh well.

This is a C++ program that reads in text files – each question position has a “deck”, and a deck file has a list of questions that are interchangible (e.g., “declare an int”, “declare a double”), and then you have a series of decks that represent the amount of questions in the exam. Each question item in a deck has a serial number as well.

The exams are generated and output to .html files (I decided to do this because it’s easier to maintain the formatting if I copy it into a LibreWriter file), and a key is also generated, with all the decks and all the questions and their answers.

I’ll probably go extend this to list point values as well, I like putting that on exams. Then I have to go write my Programming Fundamentals exam 1. Whee!

GR3

Dear public internet diary,

Today I decided to pay for the GRE fee with my credit card, because I need to get the test over with so I can apply to colleges before the September – December deadlines, but I don’t think I’ll have the spare cash in June. (The financially awkward part of being an adjunct instructor is not quite knowing how pay is going to go when going between semesters)

Why is the exam so dang expensive? I will already most likely need to take out loans for college itself. I will have to do research into scholarships and assistantships. Sigh. I still have loans from my BS, and from the last two times I tried to get into gradschool for different areas. I thought that I had to pay off these loans before I could move onto the next thing, but it is clear that this debt will be with me for a while – so why let it stop me? I’ll just go back to school, gain more debt, and then once I have a career that I’m happy with, then I can spend the rest of my life paying it off. 😛

I’m looking forward to going back to school, I guess. I’m building a new career, or a couple new careers, because the life of a corporate software engineer doesn’t suit me. Since I’ve quit and been working on my startup and as an adjunct, and been on an antidepressant, I’ve been so happy – probably happier than I’ve been in years. I’m a bit disappointed in myself for not having an established career at the age of 28, but eh… who really has their shit together in their 20s anymore? But I have hope in my future now, once I realized that I don’t have to keep doing the same kind of work – the 8-to-5 open-floorplan boring but stressful programming work. I’m no longer making anywhere near $90k/yr, I’m trying to figure out how to manage my finances on a tight budget, but at least I’m not withering away anymore.

Jeopardy for Computer Science

Sometimes, class gets quiet. Especially during review days, students usually don’t speak up on their own to ask questions. So, this semester I wrote a little Jeopardy program and used it for both of my classes.

The students at the community college I’m teaching at seemed to enjoy it; I was even asked to make more questions and come back with candy as a reward next class. So I will. I upgraded the Jeopardy program and wrote new questions dealing with different topics in Computer Science / C++, and it’s all ready to go!

This program is written with C++ and SDL2, as well as my Kuko framework. Since the class is about C++, I thought that it would be good to write the program with C++, instead of doing it as a webapp (which would have taken less time, admittedly!)

You can download the game code here: https://github.com/Rachels-Courses/CompSci-Jeopardy

It also requires the Kuko library: https://github.com/moosader/kuko

As well as SDL2 and Lua 5.2!

Kind words

When I was a student, I always tried to leave nice messages on my final exams / final submissions, so it is really nice to get the same from my students now that I’m teaching. 🙂

I’m going to keep these for posterity!

I’m sorry it’s late. Have a great summer, and thank you for being such an awesome C++ teacher and teaching us how to get a good job as a programmer. 🙂

 

It was a great semester learning from you and you definitely helped me to accomplish my goals in starting to learn the basics of programming. I wish you all the best […] Saying thank you isn’t enough for what you did to help me learn and giving me the Arduino as a gift but I promise I will learn from it and will always remember you 🙂