EppsNet Archive: Programming

Teaching Computer Science: Exam Tips from the Pros

 

When I cover something in a review session or study guide, it’s because I know it’s going to be on the test. There were questions during this morning’s test about the workings of several Java methods, all of which were covered in the review session and the study guide. I can’t answer questions like that during the test so if you have questions about review topics, ask them in advance of test day. Some people seem to think that having an excuse for not knowing something is as good as actually knowing it. “But we hardly spent any time on Topic X in class.” “But we just learned Topic Y yesterday.” Even if either one of those were true, what difference would it make? It’s on the study guide and it’s going to be on the test. Given a choice between knowing something and having an excuse for not knowing… Read more →

Teaching Computer Science: Diversity Takes a Hit

 

They told us during teacher training in the summer not to scare off the students. But programming is difficult. There’s a lot of complexity and detail to master. The first couple of programming classes I took, we started off with around 50 people on the first day, and had around 12 left for the final exam. Entry-level programming classes have very high dropout rates. One of our students dropped the class this week, a girl. So much for promoting diversity in computer science . . . Read more →

Teaching Computer Science: Applause

 

We did an interactive exercise to write a simple program that prints numbers and the squares of the numbers — a for loop, basically. We went around the room with each student providing one element of the loop and me writing them on the whiteboard: for, open paren, int, i, equals, 1, semicolon, etc. I thought it went very well. The timing was good and it was obvious that most of the class understood what was going on. When we got to a girl who’s usually ahead of everyone and knows all the answers, what we needed from her was “curly bracket” but what she actually said was “semicolon” and there was a collective groan from the rest of the class. When the last student said “close curly bracket,” there was spontaneous applause, immediately, before I even wrote it on the board. It wasn’t like a concert at the high… Read more →

Teaching Computer Science: Asking for Help

 

I’m not sure students are asking for help enough despite my repeated admonitions to do so. On the first day of class, I said, “Ask for help early and often. If you ask for help when you’re in trouble, you waited too long. Ask for help when things are going well. That’s a good heuristic in this class and in other areas of life as well.” Later I said, “Learn to distinguish between persistence and floundering. Persistence is good. Floundering is bad. Don’t flounder.” Yesterday I said, “You may think, ‘Well, if I was a better programmer, I wouldn’t have to ask for help.’ That’s incorrect. As you get to be a better programmer, you’re given harder problems to work on. I’ve been programming for 30 years — almost — and I ask for help every day.” Honestly I feel like a mental case repeating the same thing over and… Read more →

Teaching Computer Science

 

Tomorrow is my first day as an AP Computer Science teacher at Corona del Mar High School. It’s a volunteer gig through the TEALS organization. Only about 10 percent of U.S. high schools offer computer science classes and at most of those schools, it counts as an elective, like Home Ec or Wood Shop, not as a class that can be applied toward graduation like math or science. The most popular AP exam in 2013 was US History — 439,552 students took the AP US History exam. Only 31,117 students took the AP Computer Science exam. That’s about the same number as the AP Art History exam. I don’t want to denigrate the study of art history, but given the ubiquity of computers and software and programming in daily life, the study of computer science seems more likely to enable a person to be self-supporting and to contribute to the… Read more →

Programmers Don’t Play Polo

 

On the product page for a book on software development principles, Amazon showed me this: The product on the right — is that a bug in the cross-selling algorithm? I’ve worked in software development for about 30 years and have never met one person interested in the game of polo . . . Read more →

This Kid Made an App That Exposes Sellout Politicians

 

Via VICE: Yes, the algorithm is if (isPolitician(x)) {     x.sellout = true; } Thus spoke The Programmer. Read more →

3 Links

 

9 Things Bruce Lee Taught Me About Programming What a coach can teach a teacher, 1975-2004: Reflections and reanalysis of John Wooden’s teaching practices Wolfram Programming Cloud Is Live! Read more →

9 Links

 

Data Structure Visualizations Good Tech Lead, Bad Tech Lead Google Java Style Guide to 12 Disruptive Technologies How to Write a Cover Letter The Landing Page Optimization Guide You Wish You Always Had Selendroid: Selenium for Android UX Axioms by Eric Dahl Yelp’s got style (and the guide to back it up) Read more →

A $15 Minimum Wage is Not Going to Help You

 

Fast Food Workers Will Strike On Thursday In L.A. : LAist Fast food workers staged a one-day strike for “living wages.” More specifically, they want the federal minimum wage to be raised from $7.25 an hour to $15. You want to make a living wage? I’ll tell you how to make a living wage. I’ve had a lot of jobs and this method has never failed me. Here it is: Before accepting a job offer, you always ask yourself, “Does this job pay enough for me to live on?” And if the answer is no, then you don’t take that job. If you want to earn $15 an hour, do what I do: get a job that pays $15 an hour. Who’s stopping you? If no one’s willing to pay you $15 an hour, it’s because the skills, intelligence and motivation that you bring to the table don’t allow you… Read more →

Fast Work

 

A junior high school math teacher posted this on Facebook: That makes perfect sense to me. Work gets done a lot faster if the results don’t have to be correct. Thus spoke The Programmer. Read more →

Agile, ALM, and Agile 2.0 — Putting the Cart Before the Horse?

 

Speaking of selling chickens still in shells, an august panel of industry giants laid out their recent improvements and plans for ALM products (Application Lifecycle Management, for those not in the know). These guys dazzled the audience with how they’ve moved far beyond simple source code repositories and testing tools to a complete integration of all modern software practices. Quite a coup, indeed, since most real live software developers I’m seeing out there today still aren’t using the practices automated by the ALM tools. . . . In other words, many software developers aren’t using practices such as test driven development or source version control. Yet here are HP, Microsoft, and IBM announcing new ALM tools that automate more advanced practice in areas not even in use in the first place. Unbelievable. — Ken Schwaber Read more →

Engineering Humor

 

An engineer walks into a bar and orders 1.0E20 root beers. Bartender: “That’s a root beer float.” Engineer: “Make it a double.” [HT: Scott Hanselman] Read more →

HTML5 Date Tag

 

I learned something interesting about the HTML5 date tag. Look at this calendar dropdown: Here is the sum total of code needed to make that happen in a Chrome browser: That’s it! No Javascript, no CSS. Programmers these days have it easy. Read more →

How to Lose Your Job : A Fictional Memoir (Part I)

 

Because of the huge productivity differences between good programmers and bad programmers — 10x? 28x? More? — my biggest leverage point as a development manager is my ability to hire people. At my last job, we had an HR Director named Lucy. In every one of our annual Employee Satisfaction Surveys, Lucy’s group had the lowest scores in the entire organization. Nobody liked or respected her. She was, however, close with the CEO, which made that irrelevant. Lucy’s friend Kathy Slauson runs the Slauson and Slauson recruiting agency, so that’s where we got our programming candidates, who were mostly terrible. The Slauson agency doesn’t specialize in IT candidates, although they do have a “technical recruiter,” who unfortunately knows nothing about technology. They don’t bring candidates in for in-person interviews. They take whatever candidates give them in the form of a résumé and they pass the résumés along to clients like… Read more →

It’s a Seller’s Job Market in IT Right Now, Especially for Agile

 

I recently concluded a 3-month job search. As part of my networking, I met a number of unemployed people in other fields who were having trouble not only getting jobs, but even getting interviews. I talked to a lot of people and averaged about an interview a day, including phone interviews, mostly for development manager jobs. For every development manager job, there are multiple development jobs, so if you’re a developer, your situation is even better than mine was. I live in Southern California, but the demand is not just local. I had multiple contacts from companies outside the SoCal area that can’t find qualified candidates. I’ve been working again for over two months, I no longer have an active résumé on job boards, and I still get emails and calls every day from recruiters all over the country. Agile and Scrum are in demand The situation with Agile and… Read more →

Increase Code Coverage by One Percent

 

Don’t kill yourself striving for 100% coverage of code with automated unit tests. But take a few minutes to increase your coverage by 1%. Most likely, that means going from 0% to 1%. And that’s the biggest improvement of all. — 8 ways to be a better programmer in 6 minutes Read more →

The Game Blame Game

 

My boy is playing NBA 2K12 and points out that my Where’s Waldo shirt looks like the Washington Wizards (nee Bullets) throwback uniforms. “Where’s John Wall-do?” he says. Ha ha. I get my comeback opportunity a few minutes later when his game player passes to a teammate, who scores, but his player doesn’t get credit for an ssist. “HOW CAN THAT BE ANYTHING BUT AN ASSIST FOR ME?!” he shouts in disbelief. “That’s bad programming.” “Oh I doubt that,” I say. “The people who program video games are a lot smarter than the people who play them.” Read more →

Case Study: One Programmer is Better Than 80

 

When I was working at the Boeing Company in the mid-1980s, one project with about 80 programmers was at risk of missing a critical deadline. The project was critical to Boeing, and so they moved most of the 80 people off that project and brought in one guy who finished all the coding and delivered the software on time. I didn’t work on that project, and I didn’t know the guy, but I heard the story from someone I trusted, and it struck me as credible. — Steve McConnell, Making Software: What Really Works, and Why We Believe It Read more →

« Previous PageNext Page »