Skip to main content

Comp140 Resources site

Go Search
Comp140 Resources site
  
Comp140 Resources site > Shared Documents > syllabus  

COMP 140 "Computational Thinking" 

SYLLABUS

Perspective
 
No profession unleashes the spirit of innovation like computer science and engineering. Think of Google, Facebook, Twitter, eBay, Wikipedia, Stanley, Roomba, Second Life, WoW, Farecast, NOAA's hurricane prediction, Microsoft's surprise modeling, each of which is less than a decade old. From research to real-world applications, computer scientists constantly discover ways to improve our lives by creating bold new solutions that connect us to information and to each other in unexpected, forward-thinking ways. Few professions can turn ideas into realities so quickly.  Few have such a direct and positive effect on people's everyday lives. Come, join us, and together we will study the foundations of computational thinking by designing and building solutions to meet the needs of the 21st century.
(adapted from NAE's Changing the Conversation)
 
Goals
 
Our primary goal is to make you a computational thinker. In her inspirational essay on this topic, Jeanette Wing, the current director of CISE at the National Science Foundation defines computational thinking as solving problems, designing systems, and understanding human behavior by drawing on concepts fundamental to computer science. Computational thinking is about conceptualizing and representing problems, and thinking at multiple levels of abstraction. It is much more than being able to program a computer. Computational thinking complements and combines mathematical and engineering thinking. It is a way to make you a better problem solver, not a way to make you think like a computer. To quote Wing, "We humans make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on, and build systems with functionality limited by our own imaginations".
 
Who should take Comp 140
 
Comp140 is an introductory course designed for any student interested in using computation to enhance their problem solving abilities. No prior experience in programming is necessary. Mathematics at the high school level (e.g., algebra, trigonometric functions, geometry, elementary probability and statistics, permutations and combinations) will be assumed.
 

Instructors:  

  • Dr. Devika Subramanian  (devika at rice.edu)
  • Dr. Stephen Wong (swong at rice.edu)

Teaching and Laboratory Assistants:

  • Emily Fortuna (fortuna at rice.edu)
  • Nick Hirsch (Nick.Hirsch at rice.edu)
  • James Russell (jcr2 at rice.edu)
  • Allen Gregory (Allen.Gregory at rice.edu)
  • Beth Cropton (jec7 at rice.edu)
  • Drew Bryant (dbryant at rice.edu)

In general, to contact the Comp140 staff please use this e-mail address:  comp140 at rice.edu
Mailing questions to individual staff will only delay the response! 
 

 
Course Format
 
Lectures: MWF 10:00 AM - 10:50 AM in Duncan Hall 1064 
Lab/recitation session: Tues. 2:30 PM - 4:00 PM or Wed. 3:00 PM - 4:30 PM in Symonds II Lab (outside of Duncan Hall) 
 
Assignments and class materials:
Lecture slides used in class will be posted online after class.  The homework assignment for the week will be posted online on Monday.  Homeworks will involve thought questions, simple exercises to reinforce concepts, as well as projects. Lectures will be interactive and we require you to bring your laptopts to class so you can experiment with ideas during class. If you do not have a laptop, please let the instructor know before class so that arrangements for one can be made.
 
Grading
 
Your final evaluation will be based on homeworks (45%), three exams (10%,15%,15%), and classwork/class participation (15%)
 

Course Textbooks 

There are no required textbooks for the class. We will draw on material from a large number of sources. We will provide URLs to all the online resources we draw upon. There are several good introductory textbooks for Python. We recommend

Beginning Python: from Novice to Professional, Magnue Lie Hetland, Apress, 2005.

as a good reference book on all that Python has to offer. We especially like the ten projects at the end of the book for those who can't wait to get their feet wet in Python.

Another excellent textbook that introduces ideas in computer science using Python is:

Introduction to computing and programming in Python, Mark Guzdial, Pearson, 2005

If you have any favorites to recommend, email devika at rice.edu

 

Course Policies

 Homework Policies

 The purpose of homework is to train you to solve problems and to help deepen your understanding of concepts introduced in class. Homeworks and programming assignments are due at midnight on the dates specified in the course schedule below. Please turn in your homeworks using the Drop Box on Owlspace. Homework is worth full credit when turned in on time. A 10% penalty per day will be incurred on late homeworks. Solutions to homeworks will be handed out a week after the due date. Graded homeworks will also be returned at this time. No submissions will be accepted after the solutions are released.

Grading and Regrades

Grades and other performance statistics will be posted on Owlspace. If you believe we have made an error in grading your homeworks or exams, please bring the matter to our attention within one week . No makeup exams will be given.

Computing Platform 

We encourage you to use and bring your laptop to class. We will help you set up all the required software during labs in the first week of class. If you do not have a laptop, let us know and we will make arrangements to get you a laptop for use during class times and lab times. All software will be made available from the resources page.   

Academic Integrity  

The work you submit for this class is expected to be the result of your own work and that of your homework partner. You are free to discuss course material and approaches to problems with your other classmates, the teaching assistants and the professor, but you should never misrepresent someone else's work as your own. If you use any material from online sources, you must provide proper attribution (as shown here) in your homework/programming assignment turnins. A tutorial on how and when to cite sources is here. You should explain what value you have added to work taken from online sources. Finally, it is also your responsibility to protect your work from unauthorized access. I will expect you to follow the Honor Code in this course.

 Accomodation for Disability 

If you have a documented disability that will impact your work in this class, please contact me (devika@rice.edu) to discuss your needs. Additionally, you will need to register with the Disability Support Services Office in the Ley Student Center.