Posts Tagged ‘questions’

Questions from my students, Spring 2010

Friday, January 15th, 2010

On the first assignment for CPSC 110, Introduction to Computer Science, I solicit questions from students; anything they would like to ask me. Here are the ones for this semester with my answers.

at your own risk


“How would one program a basic database system?”

A database system typically allows us to store a collection of data, where we have the ability to add, update, retrieve, and delete items from the collection. Furthermore, we often retrieve items based on certain criteria for parts of an item. For example, if the database is a music collection, select all items from the collection where shoegaze.  So we have to program this so that we can represent each item or record in the database, specify the fields that we want to select on (in our example the Pitchfork rating and the genre), and be able to add, update and delete items from the collection. This is not an easy task and is rarely done nowadays without using some software that can construct and maintain the database.  Some people use Microsoft Access for elementary database work, but software written using MySQL and php is very popular.
See the following for more information

“Are we going to be dealing with Math any more complicated than what you’ve given us on this page? I am normally not very good with math and would like to know the general extent of math experience we will need for the course. Thank you.

Computer science generally, and programming specifically require us to be able to work with abstractions usually expressed in symbolic form.  We don’t require algorithmic or mathematical thinking as a prerequisite, but in order to understand the way we will write programs for a computer to execute you will need to be able to think about  solving problems expressed in words, scenarios, or stories using abstractions. So, do you need to know trigonometry or combinatorics? No. But, you need to be open to understanding some problems that require us to access techniques from a variety of sources or domains.

Some other things to read:

” Am I going to have to review algebra or geometry for this class?”

Not necessarily. The problems we try to solve are what some call ‘word problems,’ and we deal with abstractions. Also, we can’t avoid math in most of our endeavors. So, a review might be useful.
Some site to visit:



“How many hours a week will we be in lab?”

It varies. We’ll do some lab work each week, but you’ll have somethings to do outside of class using a computer. The HW in this course takes from 4-10 hours per week, so I’m told.

“Are you a math professor?”

Not now. I’ve been in the CS department here from its beginnings. My academic degrees and almost all of my academic courses were in mathematics. When I started my career as a college educator I taught math, and moved into exclusively dealing with computer science in the late 70s.

“For the two reading assignments, does it matter which one we do first, the fiction or the non-fiction?”

It doesn’t matter. Whichever you would rather do.

“This really isn’t a question, but I just wanted you to know, I’m not very good with computers and they make me slightly nervous, but I really would like to learn how to use them more efficiently.”

Thanks for letting me know. We won’t concentrate on how to use computers too much. Please be sure to let me know when I can be helpful to you. It often turns out that many people have questions about how to do something, but they don’t ask about. I hope you feel comfortable enough to ask.

Take a look at this:

“Who invented the talks”

I don’t really know the answer to that, but I do know a little about the history of TED. Read the text at these two:

“Why is binary a series of 0’s and 1’s?”

When we consult the Oxford English Dictionary (available online at no charge to UMW students and faculty at fro a definition of binary, we see the first definition is “Of, pertaining to, characterized by, or compounded of, two; dual:”. Looking further in the definitions we see Leibnizt used the term binary numbers “binary arithmetic: a method of computation in which the binary scale is used, suggested by Leibnitz. binary scale: the scale of notation whose ratio is 2, in which, therefore, 1 of the ordinary (denary) scale is expressed by 1, 2 by 10, 3 by 11, 4 by 100, etc.” Electronic computers are digital in the sense that information is represented as a sequence of items each of which is either in one of two states. So it is natural in this sense to represent digital information as consisting of a collection of binary pieces. There is also a long tradition of representing the two states with either a 0 or 1.

Take a look at

Questions & Answers

Questions & Answers

“What are the differences between the programing languages used with computers? Are they different because they are easier or harder to use? Do some only create certain programs or work with certain computers?”

There are hundreds of programming languages. Many of these have evolved from older programming languages and others have been created because humans develop a better understanding of how to use computers ot solve problems,and so people develop different ways of providing software that can be reused and is more reliable than what was previously available. Some are easier to use than others,and I think you’ll find Python to be not too hard to use. the hard part is, of course, coming up with a solution to a problem. There are some languages that work only with certain computer systems, and these are generally specific to the hardware or architecture of specific systems.
Take a look at these sites:

” If you could be anyone in the world for a day who would it be?

Being me is just fine.

” Why teach Computer Science?”

CS is pretty interesting. There is always something new and exciting to learn, IMO. Teaching it keeps me involved and learning.

“How long did it take to grow the beard?”

I last shaved in June, 1995.

“How proficient would I be with the computer if I got everything out of this class that I was supposed to?”

This course isn’t so much about being proficient using a computer as it is about solving problems using programs that we develop. The CS department doesn’t offer a course to



develop proficiency using a computer. I think the Business department offers a course like that. Did I misinterpret your question?

” Is math used frequently in programming?”

To my mind there isn’t much difference between mathematics and programming, but I may have a different view of mathematics than you. I received a PhD in mathematics and wrote a thesis in the area of algebra, so I have a strong focus on working with symbols and a keen interest in the way we work with them, as in a mathematical proof. On the other hand, much of what we do in computing involves means of computation. For some other opinions read

“How long have you taught?”

I first taught in college during the 1969-1970 academic year. Yikes, that’s 40 years ago! College teaching is a great career.

“What format do you want our papers to be written in?”

Either in Microsoft Word format (DOC or DOCX), PDF, or RTF.

“What kind of programs will we be writing in class this semester?”

Several different kinds. Ones that deal with numeric computation and some work with strings. We’ll spend a fair amount of time dealing with graphics programs using the library defined in Chapter 4

“Will this course be relatively hard for people who have never really learned python,or programming of any kind,before?”

I don’t think that it will be hard if you follow some  of the points that were in that presentation on the first day – pay attention, be open to learning. be here now, be willing to take  chance, ask for help when you need it,  and  pay attention. Review

“What is your favorite band, or your favorite type of music?”

Favorite Band? That’s easy, A Place to Bury Strangers. Check out the frontman.
Type of Music? No simple answer there. I like several different types. If you could see my playlists you would see they are quite eclectic.

“Do programmers use software like Python to create video games, or is that something else entirely?”

Some use python or similar software. Game programmers often use a library of software that has been developed for some common tasks.  See pygame – for more information about writing games using python.

“What is an example of a program that is impossible to solve?”

One is to write a program that will determine if another program gets stuck in a loop or iteration that never ends. For example this program never ends
def main():
x = 1
while ( x > 0 ):
x = x + 1

It turns out that it is not possible to write a program that can check any program to see if it eventually stops or halts. The problem is that it couldn’t check itself. It is not intuitively or immediately clear that the program can’t check itself. It takes some explaining and development of other concepts. We typically go over those topics in CPSC 326 Theoretical Foundations of Computer Science.  See  the Wikipedia entry for Halting Problem,, for some more details.

“Why did you choose to teach at Mary Washington?”

Two reasons. We had been living in St Peter MN while I was teaching at Gustavus Adolphus College. it is a great place but we were more comfortable living on the East Coast. I had dome some work to start a CS program at Gustavus and the position here was similar in the sense that I would have the opportunity to develop a new program in CS. Sometime you’ll have to ask why I stayed!

“What is the most marketable field in Computer Science?”

There is lots of data on this issue, and there are some slight differences in  the way it is interpreted. Recent data, December 2009, from the Bureau of Labor Statistics,,  puts computer software engineers, applications above Network systems and data communications engineers.

“Where did you go to College?”

I did my undergraduate work a Montclair State College, now Monstclair State University.

Questions my students ask me (1)

Monday, September 8th, 2008

ruins at arlesI’ve been giving my students the opportunity to ask me questions using an online form.  It seems natural to turn this into a series where I can post the questions and answers.  So here goes.

From students in Introduction to Computer Science, CPSC 110.

questions For Ackermann: How long have you been teaching? Have you always taught at a college level? What is your favorite thing to do outside of class?

I taught HS from Jan – June 1969, and then I taught at Rhode Island College from Sept 1969 – May 1970. That settled it for me. I wanted to do nothing else except teach at a college. I returned to Penn State and got a PhD in Mathematics. I taught mathematics at Muhlenberg College form 1974 – 1978, I taught Computer Science at Gustavus Adolphus College form 1978 – 1980, and came here in 1980. So I’ve been teaching at colleges for about 35 years. Wow! That’s a long time. (Thanks for reminding me how old I am 🙂 )
Outside of class I like to ride my bike, garden, cook, and hang out with my family. unfortunately our kids live in Brooklyn and we don’t get to see them that much.
questions For Ackermann: Will our tests be on paper or taken on computers?

 On paper.

questions For Ackermann: What is your favorite type of cereal?

Homemade Crunchy Granola
2 3/4 cups rolled oats
lots of other nuts and seeds, 1/4 cup each. I use walnuts, pecans, almonds, pistachios, cashews, pumpkin seeds, sunflower seeds & sesame seeds. 
2 tbls oil (I use olive oil), 1/4 cup honey, 1/4 cup peanut butter, 1/4 tsp vanilla. Heat these together until they are all soft & blended.
Mix this with the oats, nuts  & seeds
Put it all on a cookie sheet and heat slowly with frequent attention at 350-375
All ingredients should be organic and fair-trade where possible.

questions For Ackermann: With python are you able to write programs that have visual aspects and are you able to create a simple game with it?

 Heck yeah. We’ll be doing graphics in chapter 5.
I copied your question to a friend & former student who is a software developer in California. He said “ I’ve used in C++ before, but there’s a python interface to it too.”