Slashdot Mirror


Rikers Inmates Learn How To Code Without Internet Access (fastcompany.com)

An anonymous reader sends the story of another prison where inmates are learning the basics of programming, despite having no access to the vast educational resources on the internet. Instructors from Columbia University have held a lengthy class at New York's Rikers Island prison to teach the basics of Python. Similar projects have been attempted in California and Oklahoma. The goal wasn’t to turn the students into professional-grade programmers in just a few classes, [Instructor Dennis] Tenen emphasizes, but to introduce them to the basics of programming and reasoning about algorithms and code. "It’s really to give people a taste, to get people excited about coding, in hopes that when they come out, they continue," says Tenen. ...Having an explicit goal—building the Twitter bot—helped the class focus its limited time quickly on learning to do concrete tasks, instead of getting bogged down in abstract discussions of syntax and algorithms.

5 of 173 comments (clear)

  1. Internet for programming? by chthon · · Score: 3, Interesting

    Hell, I learned a whole about computers without computer. I was 18 when I could afford one, a ZX Spectrum.

  2. Weird choice of project by PvtVoid · · Score: 3, Interesting

    Why have them write a Twitter bot if there's no internet access? There are thousands of interesting problems to solve with a computer code. Why that one?

  3. Re:Huh? by __aaclcg7560 · · Score: 1, Interesting

    During my tour through college in the early 1990's, we had to use a plastic template to draw flowchart diagrams for programs in the Intro to Computers 101 class. A decade later, after the dot com bust, I went back to school to learn computer programming. The bookstore no longer sold the plastic template and none of the programming classes mentioned flowchart diagrams. I guess they weren't needed for object-oriented programming (OOP).

  4. Coding vs Programming by cwills · · Score: 4, Interesting

    Coding and programming are two different things (they are related, but they are different). Coding is learning the syntax of a language and the mechanics of implementing a solution to a problem. Programming is analyzing a problem and determining what computational steps are needed to arrive at a solution.

    In the mid 70's, my high school offered a FORTRAN programming class out of the math department. It was a full school year class that met daily. For the coding aspect of the class, we had one shot a week on the computer. On Friday we would hand in our punched cards and on Monday the teacher would return the cards and the compile/run printouts (the computer we used was the school district's main system). The time we spent actually coding was done outside the class room.

    The majority of the class however was learning how to program. Coding was a secondary aspect of the class (typically one day a week was going over specific FORTRAN concepts). Our first assignment was to break down the steps one used to make a phone call (step 1, walk over to the phone, step 2 pick up receiver, step 3 listen for a dial tone, step 4 if no dial done ...., etc.). We discussed and went over problem solving, algorithms, and how to break a problem down into it's discrete steps. Sometimes the problem was able to be solved without a computer (just analyzing the problem gave the final solution). Our coding assignments were usually stripped down problems that demonstrated that we could actually implement the solution (if I remember correctly, the biggest coding assignment was maybe 50 or so statements long).

    In the parent article, it sounds almost the same. They are being introduced on how to program.

    In today's environment, there are a lot of coding frameworks that have pre-canned solutions that address many typical programming requirements. So it's easy to approach solving a problem by learning the frameworks and connecting the pieces together. The real programming has already been done within the framework. This is both a blessing and a curse. The blessing is that a lot of people can code a solution to many real-life problems without needing to really understand the programming aspect. The curse is that the solution will more then likely be bloated, and computationally inefficient.

    The internet really helps with coding, it acts as a helpful reference for finding frameworks, the syntax of languages and little coding snippets.

  5. Re:Huh? by grimmjeeper · · Score: 3, Interesting

    Proper formatting and commenting was possible in the old BASIC. It was just rarely done. When dealing with spaghetti code I start by going through the original source and clean it up with a coding standard and it makes the job of reading it so much easier. Well formatted code is, to me, more useful than a flow chart.

    True story. When I was in my assembly class, we were in the computer lab doing an assignment. One of my classmates asked me for help. His code had no spacing and his labels were just L1, L2, etc. so they didn't convey any meaning. I told him to go clean up his code and apply a decent coding standard with meaningful labels before I would help him. He found his problems pretty quick when he did that.