Patrice Koehl
Department of Computer Science
Genome Center
Room 4319, Genome Center, GBSF
451 East Health Sciences Drive
University of California
Davis, CA 95616
Phone: (530) 754 5121
koehl@cs.ucdavis.edu




Introduction to Computers: Fall 2013

General information

Lecture Time and Location:

Mon & Wed, and Fri 10:00a.m.-10:50 a.m.; 1227 Harring

Labs:

A01 M 12:10pm to 3:00pm; 2020 SLB
A02 M 3:10pm to 6:00pm; 2020 SLB
A03 W 1:10pm to 4:00pm; 2020 SLB
A04 F 2:10pm to 5:00pm; 2020 SLB

Instructor:

Prof. Patrice Koehl
koehl at cs.ucdavis.edu
This is the only email address that will be answered.
Your subject line MUST include “ECS15″.

Course homepage:

http://www.cs.ucdavis.edu/~koehl/Teaching/ECS15

Office Hours:

Mons, 11:00 - 11:50pm, 3106 Kemper

Teaching Assistants:

Darryl Aubrey and Sifat Ferdousi

Reader:

Lissa Miller

TA & Reader Office Hours:

Joint with lab sessions

Midterm Date:

November 6th, 10:00-10:50 am

Final Date and Time:

Tuesday, December 10, 3:30 pm to 5:30 pm

Information sheet:

Word document or PDF file

 

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 usage 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. This is a hands-on class where you will learn about computers in lecture and apply that knowledge (and more) using computers for a variety of tasks in the laboratory sessions. This class is not a programming class - you will not emerge as experienced programmers, although you will learn the fundamentals of programming and will have written some small programs by the end of the quarter. Here is a more detailed list of objectives:

  • Demystify both the hardware and software aspects of computers.

  • Learn how to use common computer applications including word processing and spreadsheets.

  • Learn how to prepare and write a research term paper.

  • Introduce the fundamental concepts of computer programming, using a powerful, but easy-to-learn programming language, Python

Being responsible for your grades

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.

Grade breakdown

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 https://smartsite.ucdavis.edu/ to check your grades. It is very important you do check your grades.

Email policy

  • All emails 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. Even better, go to any lab and ask directly!
  • Email Prof. Koehl for more sensitive topics (e.g., illness, letters of accommodation, etc.);

Smartsite (http://smartsite.ucdavis.edu)

  • 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 to the Professor, TA, and other students.

Academic Conduct

The rules for conduct in UC Davis classes can be summarized with two principles:

  • Be polite.
  • Don’t cheat.

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.

Acknowledgement

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






  Page last modified 14 December 2015 http://www.cs.ucdavis.edu/~koehl/