TITLE: What does it take to succeed as a CS student?
AUTHOR: Eugene Wallingford
DATE: February 11, 2023 1:53 PM
DESC:
-----
BODY:
Today I received an email message similar to this:
I didn't do very well in my first semester, so I'm looking for ways
to do better this time around. Do you have any ideas about study
resources or tips for succeeding in CS courses?
As an advisor, I'm occasionally asked by students for advice of this
sort. As department head, I receive even more queries, because early
on I am the faculty member students know best, from campus visits
and orientation advising.
When such students have already attempted a CS course or two, my
first step is always to learn more about their situation. That way,
I can offer suggestions suited to their specific needs.
Sometimes, though, the request comes from a high school student, or
a high school student's parent: What is the best way to succeed as
a CS student?
To be honest, most of the advice I give is not specific to a computer
science major. At a first approximation, what it takes to succeed as
a CS student is the same as what it takes to succeed as a student in
any major: show up and do the work. But there are a few things a CS
student does that are discipline-specific, most of which involve the
tools we use.
I've decided to put together a list of suggestions that I can point
our students to, and to which I can refer occasionally in order to
refresh my mind.
My advice usually includes one or all of these suggestions, with a
focus on students at the beginning of our program:
- Go to every class and every lab session. This is #0 because
it should go without saying, but sometimes saying it helps.
Students don't always have to go to their other courses every
day in order to succeed.
- Work steadily on a course. Do a little work on your course,
both programming and reading or study, frequently -- every day,
if possible. This gives your brain a chance to see patterns
more often and learn more effectively. Cramming may help you
pass a test, but it doesn't usually help you learn how to
program or make software.
- Ask your professor questions sooner rather than later. Send
email. Visit office hours. This way, you get answers sooner
and don't end up spinning your wheels while doing homework.
Even worse, feeling confused can lead you to shying away from
doing the work, which gets in the way of #1.
- Get to know your programming environment. When programming in
Python, simply feeling comfortable with IDLE, and with the
file system where you store your programs and data, can make
everything else seem easier. Your mind doesn't have to look
up basic actions or worry about details, which enables you to
make the most of your programming time: working on the assigned
task.
- Spend some of your study time with IDLE open. Even when you
aren't writing a program, the REPL can help you! It lets you
try out snippets of code from your reading, to see them work.
You can run small experiments of your own, to see whether you
understand syntax and operators correctly. You can make up
your own examples to fill in the gaps in your understanding
of the problem.
Getting used to trying things out in the interactions window
can be a huge asset. This is one of the touchstones of being
a successful CS student.
That's what came to mind at the end of a Friday, at the end of a
long week, when I sat down to give advice to one student. I'd love
to hear your suggestions for improving the suggestions in my list,
or other bits of advice that would help our students.
Email me
your ideas, and I'll make my list better for anyone who cares to
read it.
-----