In this post, Kerry Sheldon describes her personal project from module 3 of our Back-End program. With this project, Kerry was one of the winners in our first Demo Competition Finals. Our next Demo Competition Finals will be held on Thursday, October 6th. Stay tuned for a meet-up announcement!
I enrolled at the Turing School of Software and Design because my “ideas" notebook in Evernote had become a virtual graveyard. I couldn’t bear to open it; the gulf between my skills and ambitions was too large. In the five months I’ve been at Turing, I flexed a lot of muscles that I hadn’t used in a long time. But one remained relatively dormant. My “idea" muscles were atrophying.
At the end of Turing’s third module (the program consists of four 6-week modules), students work on a self-directed individual project. I wanted to build something with immediate utility. I needed an idea that didn’t require a client or organizational owner, or depend on a network of users in order to be useful. I wasn’t ready to face the Evernote notebook, but I could solve a problem that I’d been having.
I built CodePoints as a productivity app for beginning programmers that allows users to set small weekly practice goals for focused programming skills they want to develop. Users log their practice sessions from the web app or from a companion command line app. The app tracks practice activities by skill, has a point system that rewards goal achievement, and provides data on practice sessions for a variety of time periods.
User’s current week dashboard of goals and logged practice sessions
While Turing provides the structure, curriculum, accountability and support network to attain the skills necessary to become a developer, many people don’t have the opportunity to attend a program like this. I wanted CodePoints to fill some of the gaps that keep self-directed learners from succeeding. The programming content is readily available. The focus, motivation, accountability, and community are more difficult to come by.
Chart of user’s total practice time for each day in a week
CodePoints initially had a modest social component, where users could see all of the practice and goal setting activity of other users through an activity feed. I recently enhanced this functionality to allow users to follow other users, in order to fine tune the activity feed to people they are interested in following. I wrote a recent blog post to explain how this type of functionality is implemented.
Activity log of all user activities
But my favorite feature of the app is the integration with Quizlet - an online learning application. I (sometimes) use Quizlet’s flashcard functionality to help solidify my learning. I hadn’t maximized its potential as a learning resource because I wasn’t able to make flashcards in real time, as I was programming. I need to make a flashcard at the moment I realize the need to reinforce my understanding of a method, function, syntax, or concept. Navigating to Quizlet on the web to make a flashcard was simply too cumbersome.
With CodePoints, users can make a flashcard on Quizlet from the command line. When they go to CodePoints, all of their Quizlet flashcard sets, and all of the cards in each set, are available for practice. Users can also search for flashcard sets made by other users.
Sample flashcard entry from the command line
Flashcard functionality via the web application
As I built the command line flashcard, I realized there were other pieces of CodePoints functionality that should be available from the command line. I expanded the CodePoints command line app to meet those anticipated needs, including the ability to log a practice session from the command line.
Available command line options
Sample logging of practice session from command line
Meanwhile, I’m gonna hop on over to that ideas notebook on Evernote and see what else I can do.