Carefully read the lectures and examine the code they contain. Test and explore this code in Eclipse/Python to verify that you understand the material both theoretically and practically. Try to work out solutions to the assigned lecture problems, to prove that you have understood the material; you can often test/verify/explore your solutions on the computer. Here understanding means "be able to use the information operationally to write code that solves problems". If you have difficultly with a problem, it indicates that you should probably go back over the related reading -or certainly ask a question about it in the Piazza Folders. One of the few advantages of a big class like this is the potental for peer-teaching.
Because these lecture problems are not graded, feel free to discuss them, but don't give away the answers for those still working on them: working on exercises like these builds your programming muscles. Students will be required to solve similar problems on weekly take-home quizzes, on which collaboration is NOT allowed. Don't cheat yourself in this aspect of the course by failing to do the appropriate work.
I expect students to neither carry on private conversations, nor use their computers to answer e-mail, surf the web, day trade stocks, or perform any other activities unrelated to this course. Do not use your personal media in any way that would disturb students sitting near you. In fact, because I continually receive complaints about this issue, my policy is "All students who use their computers/personal media must sit on the right side of the classroom (right as you are facing the front)." Students not using computers/personal media should not sit in this area.
Someone once said, "Distance education begins in the 8th row of the classroom": once you are that far back, it is easy to stop paying attention. So, I recommend that students sit in the rows that are at the front of the room. More than once I have had a comment like the following on my final teaching evaluation, "Write bigger: I could never read what you wrote on the whiteboard from my seat in the back of the class." I have many deficiencies as an instructor; students should help themselves get what they need out of this class -like by sitting near the front if necessary.
I am frequently busy before class setting up for lecture: if you need to talk to me, please come up after class rather than before. Ringing cell phones disrupt my lectures. Unless you are responsible for someone's life, your cell phone should be turned off. Otherwise, you should set it to operate in some silent mode (as mine will be set); if it rings silently and you decide you must answer the call, please leave the class, with a minimum of disruption to the rest of the students. If your cell phone rings audibly in class, I will ask you to leave class for that day. Finally, if you know that you must leave early, please sit by a door, so that you can exit quietly and without disturbing others in the class.
Overall, please strive to be a considerate class member, both to me and to your fellow students; doing so is especially important in large classes.
If you elect not to attend lectures, the notes that I provide will cover all the important topics (but you have to read them carefully). You will miss general purpose announcements, a small amount of live-coding, picture drawing, and questions/answers. I find only the most mature students can skip class and study by themself, but learning how to learn by yourself is an excellent higher-order skill to attain.
Another excellent way to learn the material is to create your own "study-guide", while you are reading the notes and running their code. By journaling, in your own words, the new/important information that you read (I estimate producing 1-2 pages for every reading), you will achieve a better understanding of the material; and, you can then review your journals before any exam.
Pre-class (No classes this week, but examine these materials)
Problems: 1, 3, 5, 9
Problem 1
Week 1
Problems 1-9
Academic Integrity Contract
(please read for discussion at next lecture)
(due on Thursday 3/31 on Checkmate at 11:30pm)
Problems 10-15
(turn in signed/dated copy on Friday, not today)
(due on Tuesday 4/12 on Checkmate at 11:30pm)
Eclipse Helper project for Quiz
(Checkmate/Gradescope submissions are due on Thursday 4/7 at 11:30pm)
Week 2
Problems: 1, 2, 6, 7
(due on Tuesday 4/12 on Checkmate at 11:30pm)
Problems: 2, 4, 5, 7
(select Python after clicking regular expressions 101 icon)
(due on Tuesday 4/12 on Checkmate at 11:30pm)
remethods (Folder with programs illustrating RE methods)
Problems: 8, 9
Eclipse Helper project for Quiz
(due on Friday 4/15 at 11:30pm; extended because of In-Lab exam)
Week 3
Problems: 2, 3, 5
(due on Tuesday 4/26 on Checkmate at 11:30pm)
Problems: 1, 2
Problems: 2, 4
Eclipse Helper project for Quiz
(due on Thursday 4/21 on Checkmate at 11:30pm)
Week 4
Problems: 1,3, 4, 7
(due on Tuesday 4/26 on Checkmate at 11:30pm)
Problems: 1, 2, 4, 5
(due on Tuesday 4/26 on Checkmate at 11:30pm)
Problems: 2, 4, 5
Eclipse Helper project for Quiz
(due on Wednesday 4/27 on Checkmate at 11:30pm); 1 day early because of Midterm exam
Week 5
Problems: 1, 3, 6
Recursion (implemented by the Cat in the Hat)
Illustration for Recursion Joke
(due on Tuesday 5/10 on Checkmate at 11:30pm)
Problems 1, 3, 6, 7
Problem 1
Eclipse Helper project for Quiz
(due on Thursday, 5/5, at 11:30pm)
Week 6
Problems: tba
(due on Tuesday, 5/10, at 11:30pm)
Problems: 1, 2, 4, 5
(due on Tuesday, 5/10, at 11:30pm)
Problems: 1, 3, 4, 5
Week 7
Problems: 1-3
(due on Tuesday 5/24 on Checkmate at 11:30pm)
Problems: 1
Eclipse Helper project for Quiz
(Checkmate/Gradescope submissions are due on Thursday 5/19 at 11:30pm)
Week 8
(due on Tuesday 5/24 on Checkmate at 11:30pm)
(due on Tuesday 5/24 on Checkmate at 11:30pm)
No Eclipse Helper project for this Quiz
(Gradescope submission is due on Friday 5/27 at 11:30pm; extended because of In-Lab exam)
Week 9
(due on Sunday 6/5 on Checkmate at 11:30pm)
Eclipse Helper project for Quiz
(due on Thursday 6/2 on Checkmate at 11:30pm)
Week 10
(due on Sunday 6/5 on Checkmate at 11:30pm)
(due on Sunday 6/5 on Checkmate at 11:30pm)