Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Computer Science Spring 2009 Sudhanva Gurumurthi CS 101E.

Similar presentations


Presentation on theme: "1 Introduction to Computer Science Spring 2009 Sudhanva Gurumurthi CS 101E."— Presentation transcript:

1 1 Introduction to Computer Science Spring 2009 Sudhanva Gurumurthi CS 101E

2 2 Welcome! Today’s Goals Today’s Goals n What is CS101E all about? n Differences between 101 and 101E n Why Java? n In-Class Survey n Course logistics – Beginning of Course Memo has all the details (posted on the UVa Collab Website) – Course website will have many more details

3 3 Overview Goals. n Learn fundamental concepts in computation and how to use them to solve important problems in engineering, science, and beyond. n Understand how designing and understanding programs can be creative, challenging, empowering, intellectually deep, and fun.

4 Specific Course Outcomes n Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc. n Understand fundamentals of object-oriented programming, including defining classes, invoking methods, using class libraries, etc. n Gain exposure to the important topics and principles of software development. n Have the ability to write computer programs to solve specified problems. n Be able to use a software development environment to create, debug, and run programs. n Additional Special Topics on Computing (Not Tested in the Exams) – The Google Search Engine – Multicore Processors –... 4

5 5 The Usual Stuff Lectures. n CS101E: MW, 2:00-3:15 Teaching Assistants. n TA office hours in Thornton Stacks n TA office hours will be posted on the Collab site Contacting us n Instructor Office Hours – Tuesday & Thursday, 10-12, Olsson 236D n Online: http://collab.itc.virginia.edu then choose “CS101 and CS101E” tab at the top of the pagehttp://collab.itc.virginia.edu – Forums for discussing assignments – All TAs read the forums, so this is vastly better than e-mail.

6 6 Survival Guide Keep up with the course material. n Attend lectures. n Lecture slides will be posted on the course website. n Prof. Horton’s CS 101 slides and screencasts will also be available via the website. n Budget lots of time. Do not underestimate. n Visit course home page regularly. Ask for help when you need it! n Post at the course web site! – We monitor the forums constantly. n Office hours (schedule on web page) – TA office hours in Thorton Stacks – Instructor office hours in Olsson

7 7 Grades Course grades. No preset curve or quota. At Most 6 individual programming assignments. 40% At Most 5 individual “lab” programming quizzes. 10% There is no “lab” per se for CS 101E. 3 in-class exams Closed-book, closed-notes Exam 1 (Feb. 18, regular class hour). 15% Exam 2 (Apr. 1, regular class hour). 15% Exam 3 (Sat., May 2, 7 PM) for all sections. 20%. Exam 3 will be partially cumulative Extra credit and staff discretion. Adjust borderline cases. Students with special circumstances (athletics, disabilities, etc.) must let me know this week.

8 8 Course Materials Course website. [http:// collab.itc.virginia.edu ] n Submit assignments, check grades. n Interact with course staff. n View programming assignments. n Lecture notes. Required readings. Sedgewick and Wayne. Intro to Programming in Java: An Interdisciplinary Approach. n Condensed textbook available online at http://www.cs.princeton.edu/introcs n Additional online-only chapters may also be required

9 9 Individual Programming Assignments Desiderata. n Address an important scientific or commercial problem. n Illustrate the importance of a fundamental CS concept. Possible Examples. n N-body simulation. n Digital signal processing. n DNA sequence alignment. n Estimate Avogadro's number. n Markov model of natural language. Due. Every other Wednesday night. You have two weeks for each. Submissions are done on-line. NO LATE SUBMISSIONS! Computing equipment. n Your own computer. [OS X, Windows, Linux, … ] n Public ITC computer. [Thornton Stacks (Windows)] you solve scientific problems from scratch!

10 10 Programming Quizzes Desiderata. n Test practical programming skills. n Will reflect the topics of the previous week’s group work. Due. Submissions will be handled via an online system. Logistics. n Work done individually.

11 Honor Policy Read BOCM carefully! We regularly have problems in this course. We catch them. We deal with them. Do the right thing. 11

12 12 Are You In the Right Class? CS101E n Assumes at least one semester of prior programming experience – Variables, types, assignment statements, if statements, and while/for statements. n Meets MW CS101 n Assumes no programming experience n Meets MWF n Scheduled, timed labs separate from lecture. Lab quizzes are done in the labs. Lecture materials are the same! Assignments are the same! Exams are the same! CS 101 and 101E students don’t compete for grades!

13 Introduction to Computer Science Sedgewick and Wayne Copyright © 2007 http://www.cs.Princeton.EDU/IntroCS Introduction to Programming and Java 13

14 14 Why Programming? Idealized computer. "Please simulate the motion of a system of N heavenly bodies, subject to Newton's laws of motion and gravity." Computer programming. Art of making a computer do what you want. Ada Lovelace Analytic Engine

15 15 Languages Machine languages. Tedious and error-prone. Natural languages. Ambiguous and hard for computer to parse. High-level programming languages. Acceptable tradeoff. [ real newspaper headlines, compiled by Rich Pattis ] Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do. - Donald Knuth Kids Make Nutritious Snacks. Red Tape Holds Up New Bridge. Police Squad Helps Dog Bite Victim. Local High School Dropouts Cut in Half.

16 16 Why Java? Java features. n Widely used. n Widely available. n Embraces full set of modern abstractions. n Variety of automatic checks for mistakes in programs. Java economy. n Mars rover. n Cell phones. n Blu-ray Disc. n Web servers. n Medical devices. n Supercomputing. n … James Gosling http://java.net/jag $100 billion, 5 million developers

17 17 Why Java? Java features. n Widely used. n Widely available. n Embraces full set of modern abstractions. n Variety of automatic checks for mistakes in programs. Caveat. No perfect language. Our approach. n Minimal subset of Java. n Develop general programming skills that are applicable to: C, C++, C#, Perl, Python, Ruby, Matlab, Fortran, …

18 18 Next Class – Our First Java Program HelloWorld.java /******************************************* * Prints "Hello, World" * Everyone's first Java program. *******************************************/ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); }

19 Introduction to Computer Science Sedgewick and Wayne Copyright © 2007 http://www.cs.Princeton.EDU/IntroCS Survey 19


Download ppt "1 Introduction to Computer Science Spring 2009 Sudhanva Gurumurthi CS 101E."

Similar presentations


Ads by Google