CSCI 150 Tips and Handouts
I will post general tips and handouts on this page, as well as code examples from class. Please check often to make sure you do not miss any important information.
Lab Feedback and Grades
You will receive feedback and grades for each lab assignment about one week after it is turned in. To view the feedback and grades for your lab assignments, please go to: https://mail.cs.oberlin.edu/ and login with your same username and password as the lab machines. You will see more than one email for the first lab -- they are all the same (the duplicates are due to internal testing of the system).
We are currently working on trying to get these emails to automatically go to your usual @oberlin.edu email address. I will announce when that is working.
General Tips
- If you aren't sure whether you should start with CSCI 140, CSCI 150, or CSCI 151, please check out this guide!
- The Computer Science Department provides a page on General Problem Solving Tips
- For instructions on how to install Python and Komodo Edit on a Mac, as well as how to remote connect to the OCCS server to work on and handin your labs, click here!
Slides from Class
The course slides are posted on Blackboard under "Course Content" -> "Slides".
Handouts from Class
Feb 5: Feb 7:Code from Class
Feb 5 Feb 7 Feb 9- dataTypes.py (illustrates the different data types and some uses of the modulus operator)
- forPractice.py (demonstrates different sequences in for loops using range)
- countdown.py (countind down using a for loop)
- oddCheck.py (checks if each number 1 to n is odd)
- starDrawing.py (practicing nested for loops)
- picture.py (the picture module)
- house.py (draws a house)
- factorial2.py (demos a single if statement)
- factorial3.py (demos a if-else statement)
- sum.py (demos a sentinel loop for processing inputs)
- asciiArt.py (demos using a sentinel loop for a menu)
- infinite.py (an infinte while loop)
- testFunOrder.py (tests whether the order of function definitions matter -- it does not)
- addTest.py (demonstrates passing in arguments to a function)
- houseFunctions.py (updates house.py to use functions to draw the house picture)
- asciiArtFunctions.py (updates asciiArt.py to use functions to draw different shapes. Also demonstrates exception handling and a sentinel loop)
- picture2.py (a module for working with individual pixels in pictures)
- compareStrings.py (function for checking if two strings are equal)
- factorialsList.py (a function demonstrating how we can use a list to calculate the sequence of factorial numbers)
- readingFiles.py (a program demonstrating different functions for reading from files)
- countInList.py (counts the number of times an item appears in a list)
- hardClicker.py (demonstrates what happens in a difficult clicker question)
- life_partial.py (a partial solution to the Game of Life demonstrated in class)
- countingCharacters.py (an iterative solution for counting the number of times a given character appears in a given string)
- timingFib.py (calculates the time spent on iterative and recursive solutions to calculating the Fibonacci sequence)
- sorting.py (compares the time spent on different sorting algorithms)
- song1.py (defines our first Song class)
- usingSongs.py (creates Song objects)
- song.py (defines a second Song class)
- album.py (defines an Album class)
- demoMusic1.py (demonstrates Song and Album being used together)
- playlist.py (defines a Playlist class)
- demoMusic.py (demonstrates the Playlist class)
- person.py (defines a Person class)
- student.py (defines a Student class that inherits from Person