Upload
wilfrid-hardy
View
213
Download
0
Embed Size (px)
Citation preview
CSCI 51Introduction to Computer Science
Dr. Joshua StoughJanuary 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/
StudentGuide/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 outputpublic 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)