Thursday, December 18, 2008

Project demo timeslots

Come at least 5 minutes before your slot is up so that you can set up and be ready with your program. We will meet in STA006.

Saturday slots:
  1. D-J Experience (Joe Cirucci, Dave Birchler): 7:00-7:20PM
  2. 42 (Tyler Landis): 7:20 - 7:40PM
  3. Cheese Shop (Dan Ziv, Matt Valente, Alex Maugle): 7:40-8:00PM
  4. Jock Retards (Brian Edmonston, Mark Surma, John Kaschak): 8:00-8:20PM
  5. Flappy Bob's Pancakes (Seth Sasloe, Jordan Joachim): 8:20-8:40PM
  6. "Kill Kenny” (Jessica Knowles, Kaleigh O’Hara): 8:40-9:00PM
Sunday slots:
  1. The Gumbies (Dara S., Lu W., David Y.): 9:00-9:30 AM

Wednesday, December 10, 2008

Project due date

I will be out of town early next week, and I will not get a chance to look at your projects until Thursday (12/18) morning. So, turn your project in by Wednesday (12/17) night.

Let me remind everyone that there will be no TA help or lab sessions after this week, and I will be out of town early next week. So, if you want help, you should try to get as much as possible done this week.

Wednesday, December 3, 2008

Notes and programs updates

I've updated the notes and programs sections; solutions to HW7 are (finally!) now posted. I apologize for the delay in posting these solutions, there were some unavoidable (and some avoidable) delays.

Wednesday, November 12, 2008

HW8 and absences

For those who missed class today, HW8 is out (see homework link) and is due next Thursday. I've covered chapter 6 (functions) and this Monday's quiz will be based on chapter 6.

A reminder on absences: Remember that beyond two absences, you lose points. So if you've been absent more than twice, you are losing points.

Tuesday, November 11, 2008

Research Talk on Friday

I will be giving a research talk this Friday about a project that I worked on as part of my PhD dissertation. My research is in computer networking and systems, and this talk should give you a sense of one flavor of experimental Computer Science research.

The talk is meant to be reasonably accessible to students. If you are interested in finding out more about CS research and/or my research, please come on over!

Title: "Internet Transport Protocols: Oh, What Fun!"
Time: Friday, Nov 14, 3PM
Location: Stager 219

Solutions to HW6

Solutions to HW6 are up! See programs link to the right.

Homework 7 extension

The deadline for submission of HW7 is extended by 2 days, to midnight this Thursday (11/13).

If you turn in your homework by tonight (11/11), you get two free points extra credit.

Note that if you turn in your assignment tonight, and on Thursday, you will not receive the extra credit.

Sunday, November 9, 2008

Quiz tomorrow (on 11/10)!

Yes, there will be a quiz tomorrow. We will cover chapter 5. Make sure to read the text!

Tuesday, November 4, 2008

Clarification about free homework

I may have caused some confusion about the free homework, so here's a clarification.

What was: The syllabus says that I will consider the top eight out of nine homeworks.

What is: I am giving you one homework for free, which means that I will now pick the top seven out of eight. After this homework that you are working on right now (HW7), there will be only one more (HW8). On the one homework that needs to be accounted for according to the grading scheme in the syllabus (HW9), you get full 20 points for free.

HW7 is still due next week.

Sunday, November 2, 2008

Quiz tomorrow (on 11/03)

Just a reminder that there will be a quiz tomorrow (11/03). The quiz will be based on the material covered upto and including chapter 8 (while loops and booleans).

Wednesday, October 29, 2008

Homework 7

Homework 7 and the text files that you need for the homework are online (see the homework link)! Note that while the homework is due on November 11, start early. It is not as open-ended, but the scale of this homework is roughly the same as HW5 (the linguistics application). It may even be a bit more work, so bear that in mind as you plan. The labs this week and next will be help sessions, so use them!

Note that you will lose 25% if your program does not run without error.

Tuesday, October 28, 2008

Previous HW solutions and Bioinformatics Lecture

We are past the resubmission dates for HW3 and 4, so HW3 and 4 solutions are posted in the programs section (see links to the right).

I hope you all enjoyed the lecture. If you are interested in knowing more, and/or working with Dr. Puffenberger at the Clinic on these Bioinformatics problems, come talk to me. Computational thinking is not only useful in this field, but is a necessity. This is an exciting field of work, and the Clinic is doing great work and service.

Please post any thoughts you may have about the lecture here.

Wednesday, October 22, 2008

HW5/HW6 and other updates

HW5 is due Thursday night! Make sure to read the HW carefully. Remember that you will lose 25% of the points if your program does not run without errors!

HW6 is up! See the homeworks link to the right. Here are some tips for HW6:
  • Read Chapter 7 (skip 7.4)
  • Read Chapter 8 carefully, specifically 8.4 on Boolean computation
  • Note that the homework is due next Tuesday, and not Thursday.
Please go to the help sessions on Sunday and/or Tuesday, or see me in my office hours if you have any questions!

Thursday, October 16, 2008

Homework 5

Remember to start early! I want everyone to come up with their own questions to ask, and to build their own analysis programs. Please use TA/my help when you can, and do not resort to last-minute ditch-effort attempts.

The homework is online (see links to the right). Make sure you debug your code as you go; build small, test, extend, test, extend, test, and so on. Make sure you submit your ebooks along with your programs.

If you have any questions or comments, please post them here. Happy coding!

Friday, October 10, 2008

Hiya folks, I'm back!

I hope you all had a good week, and enjoyed working on your homework. I will see you all on Monday, if not earlier!

A note: I may have inadvertently said otherwise in class, but there is no quiz on the schedule for Monday, so there won't be one.

Thursday, October 2, 2008

Homework 4 and help

Homework 4 will be given out in class (and will be available from the homework link) on Monday. The homework is due on Thursday by midnight (Note: this is a different due time from what I said in class.) This change allows you to get more help from the teaching assistants if you need it. Write comments to this post if you wish to discuss anything about the homework.

CAUTION: I strongly recommend starting work on this homework early. Use your time from now until Monday wisely: work on the labs for this week (See labs link), and get help from the teaching assistants on Ch. 4 and if statements from Ch. 7 (We have not yet covered else or elifs) over the weekend.

Devika and Mark will hold their normal help sessions on Sunday and Tuesday. In addition, our weekly lab session times on Wednesday and Thursday will turn into additional help sessions for this one week.

Reaching me while I'm away

I will be gone from Friday (10/03) through Thursday (10/09). Notes:
  • If the question you want to ask is something you could share with the rest of the class, with the possibility that someone from the class might have an answer, please post it as a comment to this blog post.
  • I will be reachable via email, although since I will be traveling and at a conference, there will very likely be delays in replying.
  • You may find me on skype (id: "atmajanardhan"). Again, I may not be available to take your call, or I may not be able to reply to IMs immediately. If there's sufficient demand, I can set aside a time that you can call me (let me know if you would like this.) As always, we can set up an appointment and talk.

Tuesday, September 30, 2008

Celebrate Computer Science @ F&M!

We hope you will join us at two special events during Homecoming weekend
as we celebrate
the career of Jay Anderson, retiring founder of our program,
the hiring of Jana Iyengar, our newest faculty member,
and the College's commitment to creating a major in Computer Science.

Friday, October 10
2 p.m. Stahr Auditorium
Alumni College Course: "The Voronoi Diagram: Are you being served?"
presented by Jay Anderson--Richard S. and Ann B. Barshinger Professor of Computer Science

3:30-5 p.m. STA-212
Reception: Introduction of Jana Iyengar; tribute to the past and discussion of the future of Computer Science at F&M

Hosted by the Department of Mathematics & Computer Science.
Sponsored in part by the Office of the Provost
and by the Franklin & Marshall Alumni Association.

PLEASE MARK YOUR CALENDARS FOR AN ADDITIONAL CELEBRATION:
On Tuesday, December 9th, at 1:30pm, Prof Jay Anderson will open his penultimate lecture in "CPS 365: Computer Graphics" to the College community, offering a retrospective on his life with computer graphics. Details TBA.

Saturday, September 27, 2008

Reminder: Quiz on Monday!

Just a reminder that there will be a quiz on Monday. I will mostly cover Ch4 (upto and including 4.4). Please make sure that you read the chapter and practice the example problems and the lab problems (see "Important Links" to the right).

Wednesday, September 24, 2008

Homework 3 correction

An error that I committed in class today found its way into the homework also. The hint for problem 2 suggests using the capitalize() function. That should be upper(). So read the hint as saying "Use the string library functions ord() and upper()."

Ten thousand apologies for the error. I had forgotten that the capitalize() function capitalizes only the first letter of the string.

(While the name "capitalize()" is not terribly misleading, it is not very clear either. A name such as "capfirst()" might have been a better match. This instance is a good example of why good names are important for the functions and variables that you write.)

Help session hours changed for THIS SUNDAY

Devika Sarin's help session this Sunday (28th) has been moved to 4:30-6:30pm on Monday (29th). Note that this change is for only this week, and Devika will resume her regular hours on Sunday after this week. Let me know if this causes any conflicts for you.

Monday, September 22, 2008

No office hours tomorrow and General updates

I will not hold office hours tomorrow (Tuesday). If you are having difficulty submitting your homework, please see the tutor (Mark Hedberg) in STA006 from 7-9 tomorrow.

We've wrapped up Chapter 3 (numbers) in the text, and are onto Chapter 4 (strings and files) now. We worked with strings in class today, and will continue with it next class (Wednesday). I will hand out the next assignment on Wednesday.

Please read and practice examples from Ch 3 and Ch4 (upto and including 4.3).

Sunday, September 21, 2008

Quiz tomorrow (on 09/22)!

A reminder that there will be a quiz tomorrow in class (Monday, 09/22). The quiz will focus on ch. 3, but you will also find elements from the previous chapters such as for loops.

The course is cumulative (since we are building our programming toolkit), and so while tests will have a focus, testing will generally assume cumulative knowledge.

Wednesday, September 17, 2008

Homework 2 clarifications

A few clarifications about homework 2 (which you can find on the homework link to the right):

I. How to turn it in:
  1. For questions 1, 2, and 3, you may try them out in a python shell, and copy and paste the answers in a word doc.
  1. For question 4, you must write a python program as a .py file.
  2. Put both the Word doc and the python file in a folder called hw2_xxx, where xxx is your username for the CPS 150 computers.
  3. Copy the folder to edisk. (See the instructions at the top of the homework sheet)

II. Remember that you will need to use "math." for the math library functions.
  1. Remember to "import math" in the python shell or inside the program when you are writing a program
  2. "sqrt()" should be "math.sqrt()"
  3. "abs()" is not a math library function, so you DO NOT need to prepend "math."
  4. When you see "nan", that is a python error that stands for "not a number", meaning python cannot handle whatever math you are trying.

Sunday, September 14, 2008

Labs, notes, homework and other updates

Hope you're all having a great weekend! Some updates and reminders:
  1. We had great lab sessions on Wed and Thu! I hope that it was clear to those who did come that this course is really about understanding and doing, and not so much about reading and repeating. You will slowly synthesize material, don't worry too much if you aren't on top of every problem. You will learn from your mistakes and from hitting walls as you write programs.
  2. I've put up my notes, the lab and homework from last week, and other stuff up: look at the "Important Links" tab on the right of this blog to access them.
  3. REMINDER: Homework 1 is due on Tuesday! Use the help sessions on Sunday and Tuesday.
  4. REMINDER: Our first quiz is on Monday. Expect to answer a few questions with short answers or a line or two of code. Make sure to read chapters 1 and 2 and practice the problems in the text.
This week, we will go over number representation and numerical work with python. I will re-hash some of our previous stuff on Monday, especially "for" loops and variables. This kind of re-hashing is likely to happen as I sense a need for it. Of course, please ask if you want me to go over something specific.

Tuesday, September 9, 2008

TA help session hours are here!

We have finalized the help session times!

Mark Hedberg: Tuesdays, 7-9PM
Devika Sarin: Sundays, 6-8PM

All help sessions will be held in STA 006. The first help session is today!

Also, as discussed in class, lab sessions are in STA006:
Wednesdays, 4:30-6:30PM
Thursdays, 7-9PM

The first labs are this week!

Installing Python at home

If you want to install Python on your home machines, here are some links you might use.

For Windows:
1. The CD that comes with the text has version 2.3.2.
2. I'm not sure what the differences are between 2.3.2 and the latest 2.5.2 versions. You can get the 2.5.2 version here: http://www.python.org/download/releases/2.5.2/

For Mac:
You will find python for the Mac at the same link above.

Enjoy!
(For more information on care, see:
http://my.pclink.com/~dkelley/python.html)

Monday, September 8, 2008

Syllabus correction

There is an omission in the syllabus that was pointed out today: The total percentage points for your grade add up to 95% only! The rest of the 5% are for attendance, and is explained in Note 2 just below the grade distribution. Thanks for pointing it out to me!

Intro to python and IDLE (09/08)

We got started on IDLE and python today... the class may have been a bit disorienting to those who were writing programs for the first time, but you will adjust to it sooner than you think. Work consistently, and remember what you must do to get good at anything, especially programming: practice, practice and practice.

Be sure to read the text and work out the examples as you go.

Lab times are Wed:430-630 and Thu:7-9. You need to sign up for one of these.

For next time:
1/ Write a module of your own and bring it in (preferably in electronic form).
2/ Read Ch. 1 and skim over Ch. 2.
3/ We will postpone Quiz 0 to next Monday.
4/ Read all the 8 applications of math, and identify which of these are "computational problems". Write a sentence or two explaining why you think it is. Note that computational problems are the ones that *require* computational power and thinking to be solved.

Thursday, August 21, 2008

Welcome to Intro to Computational Thinking!

Or, as F&M likes to call it, CPS 150.

Formally, this course will introduce you to basic concepts in computational thinking and computer science such problem solving through the design and implementation of computational processes, the role of a programming language in solving problems, the design of algorithms and the software development process; we will use the Python programming language as a vehicle for understanding these concepts.

Informally, we will understand how to solve cool problems and design and write Python programs as solutions!

Why Python, you ask. The short answer is that Python is a very versatile and yet straightforward language whose simplicity of syntax allows for very fast graduation to solving complex problems. As we learn Python, we will be using it to solve practical and interesting problems. (Many Colleges and Universities are either moving to, or have moved to, Python for their Intro to Computer Science course.) Python is also fast being recognized in the industry for the power of its syntax and libraries (by integration with Java and C). All in all, it is the best way to get started with computational thinking.

Keep watching this space! I would love to hear from you, so feel free to leave a line or two about yourself. Have a wonderful week as you gear up for the semester!

A parting comic from xkcd: