CS 201: Introduction to Programming With Java

Download Report

Transcript CS 201: Introduction to Programming With Java

CS 201: Introduction To Programming
With Java
Lecture 1: Introduction to CS201
John Hurley
Cal State LA
Introduction
 John Hurley
 Call me John, especially outside class.
 If that’s too informal for you, you can call me
“Instructor”
 [email protected]
 Office hours linked from syllabus
CS 201
 CS 201: Intro to Programming With Java is the first course in the
three-term Java Programming sequence.
 This is a critical class for CS majors. All the programming classes
you take after this will build on this material. Accordingly, this
class will be demanding, even for a 5-unit class.
 If you are a CS major, this class is certainly the most important one
you are taking this quarter.
 Each class consists of about 85 minutes of lecture and 90 minutes
of lab
CS 201 and Math
The only prerequisites for this class are Math 103 (Algebra and Trigonometry)
and computer literacy.
The academic field of CS grew out of Mathematics, but there is no
advanced math in this course as I teach it. I will offer some extra credit
opportunities for math lovers.
Programming frequently draws on algebraic thinking, and it is often
convenient to use HS-level geometry as a source of ideas for
programming problems. You will also need to understand binary
(base 2) for some of the conceptual basics we cover in weeks 1-2, but
I will make this easy.
Course Web Page on CSNS
 Course schedule and syllabus
 Software Download Links
 Textbook Info
 Grading policies
 Assignments
Grading
 Grading: A, B, C, (with + and -), NC.
 If you don’t get at least a C (undergraduate) or B (graduate), you
get an NC.
 Grading standards in this class will be tougher than in 100 level
classes.
 See the grading scale on the syllabus
 No curve
 You will have your midterm grades before the withdrawal-withW deadline
 I have toughened my policy on late work; see the course web
page
Assignments
 All assignments will be linked from the course page.
 Hand in via CSNS.
 If you have not previously used CSNS, go to csns.calstatela.edu and login
using your CIN as both username and password. Change your password. Let
me know immediately if you have any difficulties with this.
 If you don’t have a logon to the lab network, get one from the IT staff
in the library right after this class
This Is A Difficult Class!
• This class is essential to your success as a CS or
Bioinformatics major.
• This is a 5 unit course
• About 30% of my students in 200-level courses drop or
receive NC. Around half of those put some effort into the
course, but still failed.
• If you do not do the work or do failing work, do not ask me
to pass you for financial aid / family / visa / whatever
reasons. If you need to pass the class, study the material
until you understand it, do the work, and turn everything in
on time.
Quizzes
 Quizzes will consist of multiple choice, short answers, and one-paragraph




writing questions.
There are a few definitions and descriptions you will have to memorize for
this class. Closed-book quiz questions may test your knowledge of these.
Slides marked “memorize this slide” obviously contain information likely to
be on closed-book quizzes, but I don’t always add that note. I will always
make it clear verbally when you need to memorize something.
Quizzes may test your knowledge of material from the textbook, even if it
did not appear in the lectures
Most quizzes will be open-book and open-note
 Use the book and notes for details. If you don’t understand the material you will not have
time to learn it during the exam.
 No quiz makeups unless you can document an emergency
Exams
 One midterm, one final exam
 Makeup midterms are allowed with no explanation required,
but will be much more difficult than the original exam.
 Since I began this policy, very few students have ever asked
for make-up exams.
 No final exam makeups without well-documented justification.
If you miss the final exam, you will receive an NC for the
course. If you can document an emergency, you can take a
makeup exam next term and I will change the grade. For
spring quarters, "next term" will not arrive for four months.
Individual Meetings
 I will hold individual meetings with each of you during labs in
weeks 3 though 6.
 Meeting times are reserved with a sign up sheet that I will pass
around ahead of time.
 If you are worried about this class, sign up for the earliest
meeting time you can get. If you are confident, take a later
time.
 This is just a way for me to see if you need help with the class
and for you to ask any questions you may be shy about in class.
You do not need to prepare anything.
Textbook
 Liang, Daniel, Introduction to Java® Programming, Comprehensive
Version, Tenth Edition
•
Be careful to get the right edition; there are other books with very
similar titles. The right one has this ISBN-13: 978-0-13-376131-3
• The textbook is absolutely required
 Book costs about $140 on Amazon.com. Amazon and
coursesmart.com offer limited-time rentals, but you will probably be
using the same book again in CS203. Unfortunately, you are not likely
to get a good deal on an international edition for this book.
I'm Fed Up With Cheating!
•
•
•
•
This is a foundational course in a practical field in which you are
presumably considering making a career. Although this is a difficult
class, if you have to cheat here you are not likely to succeed as a
programmer and should change your major.
If I let students get away with cheating, particularly in the 201-202-203
sequence, your degree would have significantly less value in the job
market. Also, I would get fired.
The comments an instructor makes when grading work are among the
most useful aspects of any college class, but I have to waste a large
proportion of my grading time detecting cheating. I also have to design
my grading scale in a way that compromises effective teaching in favor of
cheating mitigation. This is detrimental to students who take the work
seriously, the ones who are likely to succeed as programmers.
For these reasons, I am really angry about the prevalence of cheating,
particularly code copying on labs. Cheat and you will fail the course.
Cheating: Copying
 Presenting an answer that is copied from any source other than your
brain is always cheating.
 You may not copy code from other students or allow anyone to copy your
code.
 I will punish all students involved in copying equally, even though it is
usually obvious who copied from whom. This is much harder on the
student who can do the work and lets others copy his/her work, who is
the one with more to lose. However, it is the only way to stop
competent students from letting others copy their work.
 If someone asks to copy your work, s/he is asking you to risk failing the
class for his or her gain.
Cheating: Copying
• This course teaches a set of skills that you need to learn individually.
Multiple people can not add up their skills to write the same code.
• Universities have a highly individualistic set of values. What some
students think of as "working together" is, by our standards, code
copying. If you turn in the same code as another student on a oneperson lab, you are cheating,
Cheating on Exams and Quizzes
 Examples of cheating on exams and open-book quizzes:
 Copying code or text from other students or any other source
 I can detect this!
 Answering short-answer questions with direct quotes from any source
(restate them in your own words!)
 Communicating during an exam or quiz with any human being other
than me via email, chat, phone, or any other means
 Using internet sources other than the lecture notes. If you have taken
previous courses with me, note that this is a change in policy.
Not Cheating on Exams and Quizzes
 OK on exams and open-book quizzes:
 Consulting lecture notes, textbooks, or your own notes
 Copying code examples from the lecture notes or textbook only and
modifying them to solve the problems assigned. I expect you to do this.
Cheating Detection
 It is completely obvious when students answer short-answer and essay




questions with text copied from professional-level sources like Wikipedia
and textbooks.
I understand the nuances of code better than you do. There are many ways
to get caught copying, even when the code is good. Besides that, if you
copy answers you will sooner or later copy an identifiable incorrect answer
or trip up in some other way.
I will be using several different automatic tools to detect copying. If you
copy code, you will almost certainly eventually get caught.
People who do well on labs but poorly on exams and quizzes receive very
careful scrutiny!
I change my labs at least a little bit every term, sometimes in subtle ways.
If you present a solution that is a correct answer to last term's lab
assignment but is not correct for this term's version of the assignment, I
will know it is copied.
Cheating Detection