Skip to main content

Note on taking notes in CSC 151

In my many years of teaching this course, I’ve seen many student approaches to taking notes. Some students have clearly developed careful note-taking habits, and continue to use them in this course. Others see that I write a lot on the eboards, and don’t take any notes. And some others are somewhere in between. In this document, I suggest some approaches to note-taking in CSC 151.

Some general principles

First, you should know that there is good evidence that taking notes helps you learn the material. Hence, even though there is a written record of most of what I say in class, you should still take some notes on your own. My written record is not intended to replace your notes. Rather, it is intended to be a supplement so that you don’t feel that you have to write down everything.

Second, you should know that the best learning happens when you reflect on the most important points, and take notes on those. It is, of course, sometimes difficult to identify the most important points, particularly when lots of ideas are being raised during class. I recommend that you review materials (the reading, the lab, your quick notes, and my notes/eboards) after class, and see if you can pick out a few most important points, which you record

Third, you need to consider how to organize your notes for efficient access. While taking notes will help you remember things, at some point you will need to look things up. How can you organize your material to make that easier?

Particular issues for CSC 151

As Stephen Bloch of Adelphi University notes, introductory computer science expects that you will need to master a wide variety of levels of knowledge in order to succeed in the class.

  • You will need to learn a new language. (In our case, the language is Scheme.) That means that you have to learn grammar, vocabulary, and even style.
  • You will need to learn the ways to write in the language. Instead of using a program that you are familiar with, like Microsoft Word, you will learn a new environment (Linux and DrRacket).
  • Neither the language nor the environment are the primary learning goal of the course. Rather, we want to help you think carefully about how you write algorithms, formalized sets of instructions. And we also want you to learn some common algorithms.
  • And we want you to follow good practices for writing algorithms.

My maladaption of Bloch’s example goes as follows: This course is a bit like one in which you have to write a fifteen-page paper on Napoloeon’s invasion of Russia (new domain knowledge), focusing on the economic impacts of that invasion (using a disciplinary lens), in Icelandic (in a language that you don’t currently know), in a manner appropriate for publication in a literary magazine (incorporating stylistic issues in this language that you don’t know), using a quill pen (with a technology that is not normally one that you use).

What does that mean for note taking? It means that you have to pay attention to the different levels of what you are learning. At times, you are learning basic technical skills. At others, you are learning a language and some vocabulary in that language. At others, you are learning how to write well in that language. At others, you are learning a new way of thinking.
And so on and so forth. I’ll try to point out some of the particular levels of thinking, but I won’t always do so.

Multiple modes of note taking

As suggested above, I recommend that you take notes during class. You may just want to scribble down a few high points (or low points). But you should record enough that you can look at your notes to start to recall what happened.

I also recommend that you regularly create summaries. A summary will draw upon your notes, my notes, your answers to labs or homework assignments, and so on and so forth. At times, I may incentivize summaries, such as by allowing you to bring a page of summary notes to a quiz or test.

Many students find it useful to take notes while reading. I will admit that I have never been good at marking up the texts I read, even though I do “read actively”. But I see many very successful students printing out readings and taking notes as they go. In CSC 151, it’s also helpful to try code while reading. Most of our readings introduce new ways of expressing ideas in code. You understand the code much better when you try it (and then take notes on what you observe). Taking notes on readings also allows you to develop questions that you can ask in class.

Because you are learning a new language, you might follow some of the strategies that people commonly use for studying languages. In particular, I suggest that you take notes on flash cards. I will provide you with a variety of colors of flash cards; you can decide how to use the colors. For example, you might have one color (probably white) for vocabulary, another for syntax, another for stylistic issues, and so on and so forth. One distinct advantage of flash cards is that you can also rearrange them quickly. That means that you can use your flash cards to quickly look up vocabulary, as well as to quiz yourself on that vocabulary. As I note in the syllabus, I require you to submit a weekly list of ten flash cards which I will then do my best to share with the class.

Final thoughts

Take notes. Realize that there are different ways to take notes. Explore options, and see what works best for you. But take notes.