Jan 20 - Joshua Stough

Download Report

Transcript Jan 20 - Joshua Stough

CSCI 51
Introduction to Computer Science
Dr. Joshua Stough
January 20, 2009
About CSCI 51
• Learn how to develop algorithms to solve
problems:
– Computers do not solve problems, they implement
solutions [that YOU come up with].
• Learn the basic components of computer
programming
– can be applied to any programming language
(Java, C++, etc.)
• Requirements / prerequisites
– no programming knowledge assumed
– Math, algebra
6 Fundamental Concepts
of Programming
• Variables, and Assignment (data storage)
• Expressions, and Data Retrieval
• Conditional statements (making choices)
• Loops (repetition)
• Structured data, arrays (data abstraction)
• Functions (procedural abstraction)
Is CSCI 51 Right for You?
• Do you have web programming experience
with Java, perl, php?
• Experience with “classes” in C++?
• Some experience with Matlab, Mathematica?
• Do you know what is meant by Object,
method, member variable, recursion, array,
sorting algorithms?
• If yes to some, you may be ready for CSCI 62
instead.
Course Web Pages
• Sakai system login:
– https://sakai.claremont.edu
• www.joshuastough.com
• Course Documents and Schedule
• Assignments
Lecture Format
• Review previous material
– questions
• Present new material
• In-class exercises
• Lecture notes are posted, but may be
modified shortly before/after lecture.
Office Hours and Tutors
• M 4PM, W 3PM-on, F 3PM. All 2nd Adams.
– Door open: available, door closed: not available.
• Please come to office hours.
Software
• Java SDK.
• eclipse
– on public lab machines
• http://www.claremontmckenna.edu/its/StudentG
uide/Labs/default.php
• you can install on your machine
• After-hours access
– See Homework 0 on the website.
Grades
• Assignments
40%
– both programs and book
• Midterms
20%
• Final
30%
• Attendance and
Participation
10%
_____________________
• Total
100%
Assignments
• Please submit electronic copies by 11:59PM
on the due date.
– turn in using Sakai assignment submission
• Homework assignments
– practice for exams
• Programming assignments
– budget 10-12 hours per program
• design, code, debugging
– start early!
Submitting Assignments
• All assignments will be submitted through
Sakai assignments.
• Submission Errors
– I will email you and give a deadline for re-submitting
– not checking your email is not an excuse for missing
the deadline
Late Policy
• Late Assignments lose 10, 15, 25, 25, 25% for each additional
day late (no credit on the fifth day). This scale may be delayed
given the severity of your circumstances and my being
informed of them in a timely manner.
• I will defer to the Counseling Center (see
http://www.cuc.claremont.edu/counseling).
• If you have an athletic event and will not be able to make a
deadline, you should tell me within a day of an assignment
being posted.
Approaching an assignment
• Before you open eclipse and start coding
(and asking for help):
–
–
–
–
read the assignment
think about what the assignment is asking for
review lectures and examples on the topic
write (yes, on paper) your plan for completing the
assignment (i.e., your algorithm)
• talk to/email me if you’re having trouble at this point
Backup Your Work!
• Backup your work!
• You will lose something at some point
– you might have to learn the hard way
• Use your U: drive (network folder). See Homework 0
if you do not have a network folder.
• 607-0911 ITS helpdesk
Collaborating
• You should
– Struggle with the material before seeking
help.
– Come to office hours, email me.
– Make sure you understand the solutions
you receive help on, whether from fellow
students or me.
Sending Email to me
• Put CSCI 51 in subject line
• For example:
– CSCI 51, I’m lost
– CSCI 51, This course is too easy
Eclipse and Java
• http://www.eclipse.org/downloads/
– Eclipse IDE for Java Developers (85 MB)
– Or download from the course schedule.
• http://www.java.com/en/download/
• See Homework 0 on the course
schedule at www.joshuastough.com
Hello World example.
class Hello
{
// main: generate some simple output
public static void main (String[] args)
{
System.out.println (“Hello.");
}
}
6 Fundamental Concepts
of Programming
• Variables, and Assignment (data storage)
• Expressions, and Data Retrieval
• Conditional statements (making choices)
• Loops (repetition)
• Structured data, arrays (data abstraction)
• Functions (procedural abstraction)