Possibly the most important skill you can acquire is that of formulating good questions. Good questions frame a problem such that sometimes the answer is obvious simply by asking the right question. Skillful question asking will, by repitition, reduce problems to manageable or trivial ones with straight-forward solutions.
(These instructions apply to homework exercises, project deliverables, and online exams.) In addition to addressing the functional requirements of the assignment, you should attend to several details when preparing your work for submission. First, make sure you include and complete(!) a standardized acknowledgments header as comments at the top of your file. For some classes, you will be given a standard template that you should include at the top of every submission. At the very least, this header must include (1) your name, (2) assigment identifier, (3) the name of each person or source from which help was received together with a description of the help received, and (4) the name of each person to whom you provided help together with a description of the help given. Failure to include and complete this header will result in a zero grade for that assignment.
Second, follow the submission instructions for the assignment. Usually, this will involve saving your submission in a file that includes your Westmont email ID as well as the assignment ID. For example, Eva Bailey might be instructed to submit a file “ebaileyHW1” for her first homework assignment. On other occasions, you will need to create a tar or zip archive (never submit a rar archive -- you will get zero credit!). In the case of creating a tar or zip archive, be sure to first create a folder named according to the assignment instructions and then create the archive so that the named folder is created when the content is extracted from the archive. (Do not use files or folders with generic names such as “homework” or “project1”.) Failure to follow instructions will lower your grade.
Do consider working in a study group whether you feel comfortable with the material or think you are drowning. Even in the case where you understand a concept or reading adequately, encountering a different perspective or understanding can provide significant added depth to your own understanding. Also, it is well known that explaining something to someone else improves one's own understanding of the topic in question.
Study groups work well in many disciplines, but the form they take will vary accordingly. In traditional seminar courses, students come together having read some material prepared with questions and reflections. In content memorization courses, students will sometimes quiz each other on facts and figures. In introductory computer science courses where programming is a primary focus, students might work individually on their assigments but do so together in the same space. When questions come up, someone probably knows the answer or can suggest a strategy for moving forward.
The danger in a skills-based course such as introductory computer science (but still relevant in other contexts as well) is that a student relies on a study group and avoids the work of actually learning. Another pitfall is to divide the assignment among the members of the study group, thereby reducing the work each has to expend, but also reducing the learning that each appropriates. For this reason, the assignments and projects I give are not collaborative efforts unless explicitly specified as group assignments. See my advice and warnings about copying code in the context of CS courses. In short, never copy code from a peer. Do not forget to acknowledge the help you give or receive on an assignment.
From time to time, TAs or I will facilitate help sessions; take advantage of these gatherings. Help sessions are like study groups with a bit more structure and a higher probability of having at least one person who can answer questions. But remember that like the well-functioning study group, help sessions provide a pool of knowledge that can be drawn upon -- not a public problem solving episode that can be observed and recorded.
My regular office hours provide another opportunity for you to obtain assistance. However, for both office hours and help sessions, do not plan to have someone else do a problem for you. For example, it is unacceptable to say something like, “I don't know how to do number 5. Can you help me?” Technically, “Can you help me?” is a question, but it is not the best question. My answer would be “yes.” You would then need to formulate a more specific question describing what you do understand about the problem, the step you are stuck on, and a specification of what information would get you unstuck. That would represent a good question.
Your professors are extremely busy but do not let that discourage you from attending their office hours or even asking them to join you for lunch! At a small Christian liberal arts college such as Westmont, the faculty are here because they care about students and students' growth -- intellectually, spiritually, personally. Faculty teach classes because they want students to learn; if that learning requires time beyond class either during office hours or over lunch, we will be glad to help. That said, do not expect your professors to give you a private tutoring session because you were busy reading facebook or skipped class altogether.
At Westmont, there is a little-known program, Take a Prof to Lunch, that is woefully underutilized. (And yet graduating seniors report that they desired more opportunities to get to know their professors. Go figure.) Talk to your professor and invite them to join you for lunch; then visit the link above and complete the online form.
Did I mention that the ability to ask the right questions is possibly the most important skill you can acquire?
Most people find that they cannot write a program as a stream of consciousness. (I'd claim that no one can write a good program that way.) This is especially true of students as they are first learning to design programs. You will save yourself significant frustration if you follow several guidelines.