Introduction to Computers

Winter 2015

Lecture Time and Location:

Tues & Thurs 9:00a.m.-10:20 a.m.;  Room 106 Wellman


A01, Mon 12:10-3pm, Hutchinson 75 (27 desks); Lead by Theo Pan
A02, Mon 3:10-6pm, Sciences Lab Bldg 2020 (27 desks); Lead by Sam Johnson
A03, Thurs 3:10-6pm, Sciences Lab Bldg 2020 (27 desks); Lead by Harika Sabbella
A04, Tues 1:40-4:30pm, Hutchinson 75 (26 desks); Lead by Harika Sabbella
A05, Fri 12:10-3pm, Hutchinson 75 (25 desks); Lead by Theo Pan


Prof. Raissa D'Souza,
This is the only email address that will be answered.
You must include ECS15 in the subject line with concise description of the issue.

Course homepage:

Office Hours:

3057 Kemper: Tues 4:30-5:30pm; Thurs 11am-noon.

Teaching Assistants:

Theo Pan,
Harika Sabbella,


Sophia Hannah
Office hours:
(Weeks when not grading.)

TA Office Hours:

Joint with lab sessions

Reader Office Hours:

Location Watershed 2110: 9am-noon, Weds, Thurs and Friday! (Weeks when not grading.)

Midterm Exam:

Thurs, Feb 12, 9-10:20am

Final Exam:

Sat, Mar 21, 10:30am-12:30pm.


Announcements: Please check Smartsite for announcements.

Prerequisites: None.

Optional Textbooks:

  • Spraul, V. Anton, Computer Science Made Simple, Broadway Books, 2005, ISBN: 0-7679-1707-3.
  • Michael Dawson, Python programming for the absolute beginner, 2nd edition, Thomson Course Technology, ISBN: 1-59863-112-8.
  • Brain Kernighan, D is for Digital (Link to book homepage), ISBN: 1-4637-338-95.
  • Overview:

    This course provides an introduction to computer uses in modern society, with a focus on uses in non-scientific disciplines. It covers the basic concept of computer hardware and software, computer usage, the Internet, and elementary programming skills. Here is a more detailed list of objectives.

    Regrading Policy:

    Regrading requests, if any, should be done within a week after the announcement/distribution of the graded papers. All requests must be submitted in writing, specifically explaining why additional credit is requested. Reevaluation may result in a decrease as well as an increase and is not limited to the specific question addressed by the student.

    Late Policy

    If you turn in your lab or homework late, you will only receive partial credit. If it is less than 24 hours late, you will receive 50% credit; if it is between 24 hours to 48 hours late, you will receive 25% credit; if it is more than 48 hours late, you will receive 0 credit. The only exception is when you bring me a doctor’s note.



    Term Paper                    20%             

                                        Labs                              35%

                                        Midterm Exam               20%          

                                        Final Exam                    25%             


    Grades for lab assignments, term paper, and midterm will be posted one week after the due/exam date. Please go to  to check your grades. It is very important you do check your grades.

    Email policy

  • All email must have ECS15 at the start of the subject, for instance an example subject line is: "ECS15, Help with lab 2".
  • Email TAs FIRST for all help with Labs.
  • Email Prof. D'Souza for more sensitive topics (e.g., illness, letters of accommodation, etc.); is the only address that will be answered. Your subject line MUST include "ECS15".

    Smartsite (

  • Lab assignments must be turned in via Smartsite.
  • Course gradebook will be maintained on Smartsite, it is your responsibility to ensure that the scores recorded there match the scores on materials passed back to you.
  • Use the "chatroom" to ask questions of the Professor, TA, and other students.
  • Academic Conduct

    The rules for conduct in UC Davis classes boil down to two principles:

    Be polite

    As adults meeting in a professional context, we should all behave professionally: this means being polite and respectful to everyone we deal with.

    As the instructor and TAs, it is our responsibility to teach as well as we can and to be available, polite and respectful to students.

    In email, you must include “ECS 15” in the subject line. This enables the instructors and TAs to respond much faster. Your email, with the required subject line, will be responded within a day in most cases (excluding weekends and holidays). Examples of suitable subject line are “ECS 15 – lab 1”, “ECS 15- term paper”, etc.

    You are responsible for treating us and your fellow students politely and with respect.

    Take the time to be polite and respectful when emailing the instructors and TAs. For example, this email to a TA is not appropriate:

    > R U handing back midterms Th?

    The question is fine, but the style is all wrong. It is not an appropriate professional communication, because it is not polite and respectful. This message is much better:

    > Hi Gary, 
    > This is Shareen, from your Thursday discussion section.
    > I was wondering if you are going to be handing back the midterms this week?
    > Thanks, Shareen

    Notice the formal greeting, how the writer identifies herself, the use of complete sentences, the polite phrasing of the question, and the gracious closing.

    Don't cheat

    As the instructor and teaching assistants, it is our responsiblity to make tests and assignments that are fair, to grade fairly, to look for cheating, and to refer students who cheat to Student Judicial Affairs for possible sanctions. The English department made the largest number of referrals to SJA last year, but Computer Science was in the top 10.

    As students, it is your responsibility to avoid cheating and to discourage other students from cheating.

    It is sometimes less clear to a student when s/he is cheating on a programming assignment. We want you to help each other, and we want you to look at examples of similar programs. So how do you know when helping and looking crosses the line into cheating? Here's the basic rule:

    You should write each line of your program yourself, and you should know what it does and why it is there.

    Often the easiest way to write a program, even in industry, is to take an already-existing program that does something similar, and change it around. This is fine in "real-life", but in this class, it is better not to cut-and-paste whole programs or even single lines, since as a beginner you need to concentrate on every line. You should, however, look very carefully at the example programs from lecture or the textbook, and figure out how your programs should be similar or different.

    Writing programs can be very, very frustrating. Sometimes you don't know how to start. Sometimes your program seems perfect, but it doesn't do what you think it should be doing. Talk to the other students, to friends who are programmers, to the TAs, to anyone who can help! You should ask people for advice, have them look at your program, talk about big strategy, talk about details.... but make sure when the conversation is over that you understand every line of your (hopefully improved...) program. If your friend is telling you exactly what to type, you are cheating.

    You should not begin an assignment by looking at another student's program for that assignment. Never copy another student's program, or part of another student's program. Write your own, line by line. If you are looking at another student's program to help them, that is not cheating. If they are letting you look at their program to help you, that is cheating. If you are looking at another student's program while typing in yours, or if you cut-and-paste from another student's program, you are clearly cheating and in addition you are very likely to be caught.

    You will quickly see that there are always many, many ways to write a program for a particular programming assignment, just like there are many ways to write an essay for a particular English assignment. And it is almost as easy to recognize two almost identical programs as it is to recognize two almost identical essays. For some of the assignments in this course, we will use software to detect almost identical programs. If you find yourself changing around someone else's program to try to fool the detection software, you are cheating.


    The lecture materials are partially derived from the related courses of Patrice Koehl, Sean Davis, Nina Amenta, Nick Puketza, Jim Kurose, Keith Ross and Xin Liu.