How To Succeed in CMSC 201
We asked all of the TAs to give a few pieces of advice on how to
succeed in CMSC 201. They've all taken the class, and have gone
through the same struggles that you will this semester. You'll see
some patterns in their advice -- take those to heart!
On Starting Assignments Early
- Look at project descriptions as soon as you get them, if only
just to brainstorm for a few minutes before starting.
-- Monica
- Start your assignments early! Office hours get crazy on the day
the assignment is due.
-- Avery
- Don't wait until the weekend before a homework assignment or
project is due, because either Putty will crash or you won't have
much time to get your questions answered.
-- Alejandra
- Start your projects/homeworks early!! You never know how long
you'll stare at it waiting for a breakthrough.
-- Emily
- Begin all assignments the day they become available.
-- Ethan
- Start working on homeworks and projects early. Whether you expect
it to take you a couple of hours or a couple of days, start well in
advance of the due date. That way if you run into any problems there
is plenty of time to resolve them, especially in the case that it's
something you can't figure out without assistance from a TA.
-- Brendan
- Don't wait until the last minute to start. Coding can be time consuming.
-- Roshel
- Start your assignments early.
-- Hailee
- Start projects and homeworks the moment they come out. That will
give you time to ask questions.
-- Caroline
- Start homeworks and projects as soon as you can.
-- Celeste
- Do not procrastinate! Start an assignment at a reasonable time
so that you have time to fix errors and ask questions.
-- Nsikan
(back to top)
On Getting Help
- Go to office hours if you are not sure about something. If there
is a line outside the office, sit down with the other students and
enjoy your new study group.
-- Caroline
- Be sure to ask questions if a topic is confusing. The course
builds off of previous material, so resolving issues is key to
success.
-- Maria
- It's best to give your assignments a really good try before
coming to get help. The more detailed your questions, the more
specific the answers.
-- Hailee
- Whether you are struggling or you are doing well in the class,
attend office hours regularly.
-- Ben H
- Never hesitate to ask questions to the TAs or Professors, even
if it is just to clarify something.
-- Monica
- Do all of the homework and attempt to do every problem by
yourself fully before asking for help from a TA.
-- Katie
- Go to office hours. They are great places to get help with
projects and homework.
-- Maria
- Don't be afraid to ask for help when you need it. The professors
and TA's are here to help you learn.
-- Hailee
- Go to office hours at least once a week.
-- Ethan
- If you don't understand something... ASK!
-- Liz
- Help each other, you will find that by helping others understand
the material, you will probably come to understand it better
yourself.
-- Ben G
- As with any class, ASK QUESTIONS. Raise your hand in lecture.
Grab (not literally) your TA during lab. Ask your dog questions and
pretend he knows how computers work. Always be asking.
-- Molly
- Go to office hours, either the TA or professor, because these
are your biggest help. Come prepared with specific things to ask.
-- Kristin
- If you are unfamiliar with a new concept you were taught, try a
few examples from textbooks or online tutorials to gain a better
understanding.
-- Monica
- Do not be afraid to ask questions, even for things you think you
know already (e.g., after an assignment is done, ask, "How would you
do it?"). Your grade is important, but gaining knowledge is even
more important.
-- Andrew
- Ask for help! Hear explanations from multiple people if you need it.
-- Katie
- Get help from the TAs -- no one is "too good" for help.
-- Alex
(back to top)
On Learning and Studying
- Do practice problems for the exams, for example writing find the
bug code and trading with a friend.
-- Katie
- The people who are around you in the class are a valuable
resource. Utilize them to make study groups, and work with them when
you can.
-- Ben H
- Be sure to write down any topics you didn't understand very well
so that you can review them specifically before the midterm or
final.
-- Alejandra
- Start studying early for exams.
-- Ethan
- Form or find a study group with others in your class. This will
help because you can answer other people's questions and they can
answer yours. It'll help you better understand the concept if you
can explain it to others.
-- Kristin
- Doing homework is key to reinforcing core concepts learned in
class, so make sure to complete the homework.
-- Maria
- You won't always understand things at first and that's okay.
-- Patrick
- The best way to study for the midterm and exam is to practice
writing code.
-- Liz
- Do not be afraid to try new things, even if you might fail;
Thomas Edison failed 10,000 times before he invented the lightbulb.
-- Andrew
- Don't cut corners -- study in chunks. This should be applied to
all classes.
-- Chetra
- Help each other; you will find that by helping others understand
the material, you will probably come to understand it better
yourself.
-- Ben G
- READ, both the text book AND the Python documentation.
-- Ben G
- Make an effort of reviewing the posted Powerpoints after a
lecture. I still do this; I go over the Powerpoints on my own and
take more detailed notes. This is my personal learning style, but I
am sure others might also benefit from writing everything down
themselves.
-- Chetra
- Tinker around on your own. One of the best ways to learn
programming, what works and what doesn't, is trial and error. Take a
concept you learned in class and see what you can do with it, try to
break working code, think outside of the box!
-- Brendan
(back to top)
On Academic Integrity
- Make sure you understand the academic integrity policies, and
ask for clarification if you need it. It's not supposed to be
confusing or scary - we just want to make sure everyone is learning.
-- Avery
- If you ever have a question about if what you are doing goes
against the Academic Integrity policy, check the course syllabus.
If it is not answered there, ask a TA or one of the instructors.
-- Ted
- For Pete's sake, don't use Stack Overflow. (1) You're not
allowed. (2) You won't be learning. This class will get so hard so
fast if you insist on not putting in the work required to actually
understand the concepts. It's for your own good. You have so many
friends in this class: your professor, your TA, Python
documentation. Stack Overflow is not one of them.
-- Molly
- Be wary of websites with answers -- chances are they are going
to use solutions that go above your head. And never use code you do
not understand and could not write yourself. You should reference
the slides and your old assignments for help instead of consulting the
internet.
-- Ted
(back to top)
On How To Code (and Debugging)
- Don't give up! A lot of coding is about trial and error. As you
fix one problem another arises without you even thinking about
it. It's easy to think all is lost but perseverance and persistence
are key.
-- Roshel
- Save a lot of time by first organizing ideas, whether by listing
what's needed, drawing diagrams, or writing pseudocode and then
coding it out.
-- Celeste
- If you're getting errors it means you're learning.
-- Patrick
- When starting a project, don't even go near a computer. Just sit
down and draw out your solution to the problem with a pen and paper
first.
-- Ben G
- 90% of the fun of programming is finding out at the last minute
that your program only works for input x when it needs to work for
the entire alphabet. (Just kidding -- that accounts for 0% of the
fun. That's why you test as you code. Figure out what testing is
early and do it often. Test, test, and test again!)
-- Molly
- Make a design flowchart to see if you are meeting the
project requirements, and to visualize how your code will flow and
accomplish what you desire.
-- Monica
- When working on an assignment, do not try to do everything at
once. Solve the easier parts first and then build on with the more
complicated parts.
-- Nsikan
(back to top)
On Practicing Your Skills
- Look at this class as an exciting journey of self-discovery -- a
chance to figure out how you like to tackle problems best. Make the
time to experiment with different strategies. Are you a flow
diagram guy/gal? Do you like writing your main function before you
write the other functions (or vice versa)? Find out in CMSC 201!
-- Molly
- Test everything. If you ever find yourself wondering in lecture,
while coding a project, or in the shower, "What would happen if I do
this?" Just try it! Code it up, run it, and see what happens. You
might be surprised at what "works," even if it doesn't do quite what
you expected.
-- Brendan
- Do every lab and make sure it's done right. Even if it doesn't
significantly improve your grade, the practice is important.
-- Hailee
- If you want more practice or are just bored, there are several
sites that have practice prompts or activities that can help you
learn the language faster.
-- Celeste
- Try coding on your own time/experimenting with given code. In
the beginning CMSC courses, you will be tested on things such as
syntax and functionality. Practice until you are comfortable enough
to figure out what a piece of code does just by looking at it. How
many times does this line run? Can I code this in a different way?
Is there another way to approach this without using that specific
concept?
-- Chetra
(back to top)
On Everything Else
- Try to have fun! It's easier to learn if you're enjoying yourself.
-- Avery
- Always attend lectures, make sure to ask questions when you do
not understand, and be an active listener (take notes on important
concepts or things you don't understand).
-- Kristin
- Computers are stupid. You are smart.
-- Patrick
- Take labs seriously. They will cover important topics that the
projects may not cover, but that will be included on exams.
-- Emily
- Make sure to review your grades when you receive them to resolve
any grading discrepancies as soon as possible.
-- Monica
- Reflect upon what you have done.
-- Andrew
- Be an active participant in class, the professor will notice
your active role in the classroom.
-- Ben H
- Use the lab time to work with other students! It's important to
know your peers and make friends with people in your major.
-- Hailee
- Discussions and office hours are designed to help you. Don't
just brush them off or rush through, try to actually think about how
your code works and take your time.
-- Liz
- Put in the extra time to seriously look through the pre labs.
-- Alex
(back to top)