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!
Table of Contents |
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
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
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
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
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
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
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