ALGORITHMS 
L0 

OUTLINE 

- name game 
- background 
	- pass around a sheet of paper where students fill in previous classes in Math and CS
	- collect data on how many freshmen, sophomores, juniors and seniors 

- class intro, syllabus, class work 

- style and expectations

—————————————————

Teaching approach  and expectations

- Algorithms are considered to be the core of CS.  Algorithms class is  different than Intro and Data Structures, because it does not involve programming,  it does not revolve around a programming language.  It is a theoretical class, and because of that it is close to Mathematics.  Those of you who like Math will probably like this class, too.  And  yet it is  different than Math. 

- Algorithms is usually considered a hard class. One reason for that is that the curriculum usually includes only ONE Algorithms class, so it’s not a sequence, like BIO 1 and Bio 2; so it has to cover a lot of topics.  Another reason is the nature of algorithms: we’ll study problems and algorithms for solving them, and these algorithms, though seemingly simple, will be sometimes hard  to wrap our minds around them, and to see WHY they work. Some of these algorithms are very elegant and really smart.  And that can be intimidating.  With Data Structures, or with a programming class,  at the end you  can write a Java or C program, and that feels good, right? You can program anything.  With Algorithms, we look at a different universe,  the universe of problems.  The more problems and algorithms you’ll  see, the more you might get afraid by all the problems and algorithms that you do not know. A problem can be deceivingly similar to another one, and yet it’s solution may be completely different.  To come up with algorithms  can be a very very creative process that has no recipes and it can  make you feel uncomfortable because you are never sure you can solve a new problem.    This is a completely normal feeling, and it’s actually a good thing:  the sphere of what you know is growing —— and it’s surface is also growing. The more you know, the more you realize how much you don;t know.     If you find you are too stressed or confused,  just focus on what you  KNOW. 

- So far I taught algorithms as a core class,  with lots of lecturing,   with a pretty fast pace  and with challenging  assignments and exams.  The reason for this is that  focused on keeping the class competitive with Algorithms classes at peer colleges and top  research universities.  I  often include problems from MIT and Stanford  problems sets. I consult the syllabi and problem sets  at Williams and Swarthmore.  I wanted to stay in synch. I have links on the website, if you want to take a look. THEY ARE HARD!  I am sure there are times when  the class starts to feel like a marathon. 

- There’s a lot of research that shows that lectures are not the best way of learning.  learning works better in an interactive environment where students read the material before class and the class becomes a discussion.  So the class contains very little lecture, instead it consists of questions that the students raise, and problems solved in groups.   Some terms for this are   peer-instruction, or class flipping, or  active learning. This is a move in education towards peer instruction and flipping, through the recent work of a physics professor at Harvard. 

- Flipping is an inversion of teaching and homework , where students study the material at home, either by reading the book, or by  watching a video of the lecture, and class time is for problems. This is an inversion, because usually this is the other way around (lecture in class, nobody asks any questions, because too quick to understand it all, and then questions and problems at home). 

- Peer instruction  basically means that  students are working in groups, and they explain to each other how they reached an answer.  This process of explaining is beneficial for everybody involved. It’s been shown that students learn better when a peer explains, or when they have to explain to a peer.  It’s also beneficial for the faculty, because he or she may hear a new way of thinking, and get closer to the  classroom and to what students know. 

- Basically the common idea is that passively absorbing a lecture in class is not the best way of learning. Learning is best when You take charge, and when it’s interactive.  Now  that all sounds good, but  it actually puts the larding in your hands.  Learning has two parts:  Part 1:  read the material at home, at your own pace. And that’s something YOU have to do.  Part 2: class is for discussion, examples. clarifies questions and works on problems.

- Sounds good? That’s something that’s been done  for decades in the humanities — In an English class,  you have to read a book before you go to class, right? Sciences are traditionally lecture based, and tha’s starting to change. 

- This semester I am starting to gradually shift the approach towards less lecturing and more questions and  group problem sessions, based on reading that you do at home.  To this end,  I have added a LAB section to the class.  This is the first time Algorithms has a LAB.  This will NOT involve working with a computer. This will give us more time to work  in groups on problems. 

- My main goal for this class will be that YOU Learn.  I won’t focus on covering xx chapters.  I will  ask for your help with feedback several times throughout class…. Starting ….. right now!  

————————————————

Group work: What helps your learning? 

Form groups of 4 people.  Discuss as a gout your experience with teaching and learning, and answer the following questions, as a group: 

1. What helps your learning?   List specific things, drawing from classes that you took at Bowdoin. 

2. What hinders your learning? List specific things that can be an issue for you. 

3. What are your thoughts on class flipping and peer instruction?