Meet Katherine Wu:
• eIMACS Computer Science alumna
• Webmaster for the Hopkins Undergraduate Research Journal
• Lab manager for The Center for Language and Speech Processing where she will be conducting research this summer
• Author of “Breaking Barriers in Computer Science,” soon-to-be-published in the undergraduate research journal The Triple Helix
• One of only 50 students selected from across the US and Canada to participate in the Google FUSE 2011 computer science retreat
Are you suitably impressed? We are. When Katherine found us, she hadn’t even taken a computer programming for beginners class. But she knew what she was looking for – a solid introduction to programming and individualized instruction that would allow her to excel at a faster pace through more challenging material. Well, Katherine just sailed through her freshman year as a Computer Science major at The Johns Hopkins University, taking mostly junior and senior level CS courses along with a graduate level CS seminar, and is already deep into her summer research schedule.
When asked to reflect on her first year at college and experiences so far in CS, here’s what she said: “I was anything BUT picky about club and academic experiences my first-year in college. If there’s something you’re interested in doing, there are no ifs-ands-or-buts about it; take the chance and do it! If anything, you’ll always form new relationships and learn something new. I look back, especially on my experiences in Computer Science, and all I can say is ‘Wow! It’s like a whole other world.’ I took my first courses with IMACS, and they were the ones who sparked my passion in Computer Science and supported me all the way up through taking the AP Computer Science exam and beyond. I’m proud to say that IMACS is not just your typical course provider, but a community that strongly cares about your personal learning and achievements. I think they are one of a kind.”
Lucky for Katherine, the foundation she built at IMACS gave her the skills and confidence to handle upper-division coursework. Lucky for us, she’s happy to share her story (and even her video bloopers) with you. Check out her video below, and follow her summer research adventure here.
If you’re a former or current student or parent and would like to share your IMACS story, email us at email@example.com.
Why do we bother teaching children their ABC’s when they are so young? It’s not as if they are going to write the next Gettysburg Address once they know the difference between b and d. Why do piano teachers spend so much time with their beginning students on proper finger placement? It’s not like they are going to compose a symphony once they know that a treble clef means play these notes with your right hand. So why does IMACS start students off with an introduction to logic course? It’s not as though they’re going to solve the twin prime conjecture once they know the difference between modus ponens and modus tollens.
Now before you leave a comment about why that’s not a perfect analogy, you’re right. The point was to push your thinking in that direction before you think about this: Why do we use an exaggerated voice when talking to a baby that doesn’t yet understand words? Why do we toss off aphorisms to small children who don’t have the life experience to know what they mean? (Here’s a fun list if you want to practice sounding clever and wise.) It’s because when a growing brain comes to understand the nuances of tone, the subtleties of language, the connotations beyond the denotations, then and only then can its potential be realized as the developed brain of a novelist, journalist, and yes, even blogger unleashing the full power of human communication. Now, it’s a long time between teething and typing away at the next great idea. But parents still talk to their kids in these ways because they understand, if only subconsciously, that it’s part of teaching children how to express themselves effectively in adulthood. That’s likely how their own parents spoke, and so it’s very familiar.
Formal logic, on the other hand, is not as familiar. So the question naturally arises, “Why spend so much time teaching it when all I’m looking for are advanced classes for gifted and talented students?” For those who go on to major in math or computer science at college, the benefits of taking logic courses are obvious. They will be expected to write complicated proofs or programs that are logically coherent. If they choose these fields as professions, their ability to make a living (and stop mooching off of you) will largely depend on their ability to do this really well. And just as with teaching the skills that lead to great story-writing, you don’t start when the kid is already in college. By then, you want your college student to already have these tools so he can blow away the curve and make you so proud that you will not stress when he goes on his first spring break trip where there will be no mischief whatsoever. You start earlier by first teaching them how to craft a well formed and logically consistent argument, and then you layer on the advanced courses that require this fundamental skill in order to be successful.
But what about students who are not going into math or CS? Well, are there any future philosophy majors out there? How about pre-law? Wouldn’t you know it, they too will need the ability to make logically coherent arguments in their coursework, whether it’s debating the forms of Plato or taking the opposite side of a Supreme Court decision. Speaking of debate, we’ve had a number of high school students tell us that their logic skills helped them to excel in debate class. Come to think of it, if your child plans to be in a position where she needs to think about ideas in an orderly fashion, connect pieces of information together, draw conclusions from her analysis, and present her argument for scrutiny, understanding logic would be a huge advantage. Someone stop me now before I break out into “I’d like to teach the world a proof…”
Do you have a story about a situation in which understanding logic helped you? Leave it in a comment below.
There’s an old Pink Floyd song that goes like this:
We don’t need no education.
We don’t need no thought control.
No dark sarcasm in the classroom.
Teacher, leave them kids alone.
Hey, teacher! Leave them kids alone.
If you don’t know who Pink Floyd is, go text your dad. If he’s old enough to know, then he’s probably of a generation where taking a class meant being in a bricks & mortar school, sitting in an intentionally uncomfortable desk, and listening to a teacher lead a mostly one-way lecture. If the teacher had to step out of the classroom, it would not be unusual for pandemonium to break loose and any semblance of learning to go out the door with her. So it comes as no surprise when some parents are skeptical that students can learn without a teacher being present in the same room. They just can’t imagine how online classes for high school students can work for their child. The reality is that online courses can work really well if you have at least three crucial ingredients:
Experience matters, whether you’re talking about education, medicine, law, or any field where learning through doing makes a huge difference in the quality of outcomes. With online high school courses, as with traditional classes, curriculum experience is key. Remember that curriculum is not just about what topics are covered and in what order. It’s not just a list you can cobble together from Google searches. The best curricula are developed over extended periods with real student feedback and are time tested to have actually worked in physical classroom settings.
A good curriculum is also determined by how the material is presented. Are the lessons designed in an engaging way that invites the student to be part of the learning process? Or is it more like reading a lecture with a few colorful graphics tossed in? Having the experience to know how to pull students in can make the difference between a child who wants to stay focused on the lesson on screen and a child who is willingly distracted by the latest updates to their friend’s Facebook page.
Sophisticated Real-time Feedback
Okay, so now you think you’ve found a program with a good curriculum that has proven over time to be effective with real students. Next question: Can your child access the knowledge in a way that mimics the natural interactive style of humans? Or is he simply being shown a series of multiple choice questions without any catalyst to stimulate critical thinking? A good indicator would be if the technology, whether it’s a Web site or a software program, was developed to anticipate where students might stumble. This is another place where having taught the same curriculum to real students in a real classroom is a huge benefit to program developers.
Naturally, you will also want the technology to be designed with interactive features that provide immediate feedback to students when they need it. It would be like having a teacher right next to you saying, “Not quite, try again,” before you botch the rest of you work with an early mistake. Wouldn’t it have been great if when you were in school, you could find out right away instead of days later if your homework was wrong so that you’d have more time to correct your thinking before the test? (I hear you now, “That could’ve been me at Harvard!”) Speaking of tests, be sure that you have online access to your child’s scores for assignments and tests so that you and your child can monitor his progress.
Live Help Available in a Timely Manner
Sometimes, you just need a human touch. Like when you’ve exhausted the automated telephone menu and you just need to dial ‘0’ to reach the next customer service representative who will be with you shortly. Or in most cases, not so shortly. You’ll want to look for a program where each student is assigned a real instructor who monitors the student’s progress and is available for questions. Make sure that you can contact the teacher by phone or by email. The best programs have instructors and technical support available in some form seven days a week, including evenings. And if you do come upon a new situation that requires live help, program developers will be very thankful that you brought it to their attention because it helps them improve the online experience for you and future students.
Now that I finished writing this blog post, I have no idea how those Pink Floyd lyrics are relevant other than when the topic came up, the song popped into my head and now I can’t get it out!
What other features would you want to see from a provider of online courses?
When students or their parents think about career choices for computer programmers, they often think of software development and gaming. No doubt, working for Google or Blizzard Entertainment would be awesome, but not everybody will land one of those coveted jobs. Operations research and various areas of engineering may also come to mind as places to put your programming prowess to work. Less frequently, however, do people think of the financial industry.
Now before you go ranting that these smarty pants are the ones who brought down the global financial markets with their esoteric models that only a Ph.D. could understand, let’s skip that debate and merely point out this fact: programming jobs in finance are challenging and pay well. Ignoring them because you think they are on “the dark side” simply leaves you with fewer options. So let’s take a look at three areas of finance where computer programming is more than just a peripheral activity.
Computational finance. Computational finance was historically the domain of math and science Ph.D.’s who moved from academia to Wall Street (“quants”), especially as the use of financial instruments such as derivatives increased. The work of pricing these complex securities was roughly divided between the quants, who came up with the methodologies, and the programmers, who implemented the mathematical models. Over time, the focus has shifted to refining and optimizing the models. According to the Wikipedia entry on computational finance, “[A]s the actual use of computers has become essential to rapidly carrying out computational finance decisions, a background in computer programming has become useful, and hence many computer programmers enter the field either from Ph.D. programs or from other fields of software engineering.” Programmers are no longer solely relegated to the IT department, on call to do the bidding of the brain trust. The best ones are now part of that brain trust and are considered essential to financial institutions’ ability to maximize profits and minimize losses.
Algorithmic trading. What is algorithmic trading? Let’s go to the Wikipedia page: “… the use of computer programs for entering trading orders with the computer algorithm deciding on aspects of the order such as the timing, price, or quantity of the order, or in many cases initiating the order without human intervention. … A special class of algorithmic trading is ‘high-frequency trading’ (HFT), in which computers make elaborate decisions to initiate orders based on information that is received electronically, before human traders are capable of processing the information they observe [emphasis added].” So one set of humans (i.e., computer programmers) creates mathematical rules to replace a different set of humans (i.e., traders). And they’re paid handsomely for this disservice to their fellow man. Maybe you can see yourself doing this as sweet revenge upon those evil trader dudes who, some say, blew up the financial markets. Not such a bad idea now, eh?
Actuarial science. Finally, actuarial science. Wikipedia, don’t fail me now! “Actuarial science is the discipline that applies mathematical and statistical methods to assess risk in the insurance and finance industries. … Actuarial science includes a number of interrelating subjects, including probability, mathematics, statistics, finance, economics, financial economics and [trumpets, please] computer programming.” Who knew that figuring out when a given cohort of individuals will, uh-hum, kick the bucket could be so interesting? Well, as it turns out, one of our former students knows this well as he was able to pass all of the actuarial exams at a fairly young age and is currently the chief pricing actuary of a major global life reinsurance company. We’re pretty sure he’s done well for himself.
So if you have a knack for computers and want to explore where these talents might take you, don’t forget about the financial industry as a place that can provide a rewarding career. Try to make room in your class schedule for the programming courses you will need to put you on the right path. If you don’t have access to these courses at your school, think about taking online computer programming classes. If done right, learning computer programming online can be just as effective in preparing you for the next level.
Do you or someone you know use computer programming skills in a non-traditional field? Tell us about it.