190 likes | 204 Views
This course teaches the fundamental concepts of computer programming, including variables, expressions, conditional statements, loops, structured data, and functions. No programming knowledge is assumed. Suitable for beginners.
E N D
CSCI 51Introduction 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/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 andParticipation 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)