CS 101 Today’s class will start 5 minutes late (and we’ll be talking about lab scheduling problems then) CS 101 Introduction to Computer Science Aaron Bloomfield University of Virginia Instructors Aaron Bloomfield: CS 101 Marty Humphrey: CS 101-E Office: Olsson 228D Office hours will be posted on the website Email: Office: Olsson 236C Office hours will be posted on the website Email: Both instructors also accept appointments Other course personnel (TAs) will be posted on the website shortly 3 What this course is An introduction to programming using Java 4 What this course is not We do not talk about (in any depth): Applications of computing Other programming languages (C, C++, Matlab, etc.) History of computing How to use Microsoft office or create a web page 5 Course objectives Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc. Understand fundamentals of object-oriented programming in Java, including defining classes, invoking methods, using class libraries, etc. Be aware of the important topics and principles of software development. Have the ability to write a Java computer program to solve specified problems. Be able to use the Java SDK environment to create, debug and run simple Java programs. 6 Honor policy The University of Virginia Honor Policy is in effect in this class. As a student in the course you agree to follow the following principles. Unless otherwise specified, the only allowed collaboration for the homeworks and labs is the discussion of ideas; no collaboration is allowed on the exams and lab quizzes. No code or solutions are to be distributed to other students either electronically (i.e. e-mail) or on paper. Unless otherwise noted, exams and individual assignments will be pledged that you have neither given nor received unauthorized help. When there is doubt regarding the honorability of an action, you will ask before doing it. 7 Honor policy The University of Virginia Honor Policy is in effect in this class. As a student in the course you agree to follow the following principles. You are not allowed to describe problems on an exam to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student's exam papers while working on an exam. You are not allowed to debug your fellow student's homework assignments, but you may help debug your fellow student's labs. This will be discussed in more detail once we start getting into writing (and debugging) Java programs. 8 Honor policy Any honor violation will be referred to the honor committee, and will result in an immediate failure for the course, regardless of the outcome of the honor trial or your other grades No exceptions! Beware of MOSS 9 Website At http://www.cs.virginia.edu/~cs101 The syllabus is there (with most of the info in this slide set) I will try to post all slide sets on the website the night before lecture And all the lecture notes But will probably be editing them that day Don’t bother writing down what’s on the slides! 10 Textbook Java 5.0 Program McGraw-Hil. Design, Cohoon and Davidson A rough schedule of what we will be covering when is on the website The bookstore does currently have copies Price: $101 11 Textbook versions 12 Grading criteria 10% – Laboratory participation 10% – Laboratory programming quizzes 30% – Homework assignments 30% – Midterms However, if you miss more than 2 labs, you are subject to failure for the course More on this in a bit… 22 February, 22 March, and 26 April 20% – Final exam Scheduled time is Tuesday, 9 May from 7 pm to 10 pm NOT on Saturday We will discuss conflicts as the semester progresses (APMA 310 and ECON 301) Will be following the standard 10-point curve scale 13 Grades All grades will be kept online All electronically submitted assignments (labs, HWs, lab quizzes) will be graded electronically Viewing your grades will be gone over in the first lab They are still graded by a human, of course You will receive an e-mail about your grade Only the exams will be graded via paper 14 Regrades When an assignment is graded, the grading guidelines will be posted If you feel you deserve more credit, you need to submit a regrade Paper-based for the exams Electronically for labs, HWs, and lab quizzes Regrades must be submitted within 10 (ten) days More on regrades in the first lab We reserve the right to possibly institute a “penalty” on “whiny” regrades 15 Keeping the class interesting Like many intro courses, this course does not really show why CS is a fascinating field I’ll be bringing in guest lecturers to give short (5 minute) talks about why they like CS At the beginning of lecture Humor breaks Actually helps with attention span! Not surprisingly, most of it will be computer humor! 16 Motivational posters 17 Today’s demotivators 18 Homeworks There are two types of homeworks: Programming homeworks a.k.a. “J” homeworks, as they use Java 8 of them CodeLab (a.k.a. “C”) homeworks Via http://www.turingscraft.com – an online service This will require purchasing a $10 license (online) 5 (or so) of them this semester All the CodeLab problems will count as one or two J homework(s) We will go over CodeLab in a future class 19 Labs Will have one each week Lab attendance is REQUIRED If you miss more than 2 labs, you are subject to course failure for the course If you show up to a different lab section without permission, it counts as missing that lab There ARE labs this first week Lab grading will be discussed in the first lab If you don’t finish the lab during lab period, you can finish it within the next 24 hours Total of 11 (or so) throughout the semester More details on this in the first lab If for a valid reason you are unable to do your lab, there will be a makeup lab on Sunday night, provided that you get permission prior to your scheduled lab 20 Lab scheduling problems I expect about 20 students will switch into CS 101-E That will free up space in all the lab sections If you are not registered for a lab section this week, you can go to any lab Using last spring semester as a guide But only if you aren’t registered for any lab section! We will get everybody registered for a lab section that fits their schedule 21 Exams There will be three midterms, all pledged There will be three lab quizzes, all pledged 22 February, 22 March, and 26 April During lab sections the week of the midterms Final exam Scheduled time is Monday, 9 May from 7 pm. to 10 pm NOT on Saturday We will discuss conflicts as the semester progresses (APMA 310 and ECON 301) 22 Home directory service All assignments and lab files must be kept on your home directory http://www.virginia.edu/homedir 23 My philosophy: hard but fair Fairness is a difficult thing in a class of 450 students If you feel something is not fair, you need to let me know I will do my best to correct it If you think that this course is not hard, let me know I will do my best to correct it 24 Who to contact I am not always the best person I easily get inundated with emails, as I have 400 students The TAs can often answer a question just as easily as I can, and much quicker Office hours will be posted on the website There will be a lot of TA office hours Utilize them!!! 25 Feedback It’s a very good thing! Feel free to leave us feedback Can be done anonymously, if you wish Via the Toolkit or the CS dept website It’s hard for the instructors to know what the students think of the course… 26 Learning the material There are a number of ways we provide to help you learn the material Lecture Slides on the website Programming homeworks CodeLab homeworks Labs Textbook Previous years’ tests TAs (during labs or office hours) Professors (office hours) Fellow students Find what works best for you and use it 27 Sections CS 101 CS 101-E Students with programming experience Open labs that are to be completed by a scheduled time CS 101-X Students have little or no programming experience Mandatory scheduled closed labs Lectures have students in front of the computer To switch into this, contact Jim Cohoon 101 & 101-E students take same quizzes and tests, and do the same assignments The 10-point curve is the same for everybody So helping your fellow students out does not hurt you 28 Differences with 101-E Labs are done by all 101-E students on their own time Pace through the textbook is the same If you miss more than 2, you are still subject to failure Labs due 8:30 p.m. on Sunday Optional lab session for 101-E students Sunday at 7 p.m. They may go through it in more detail, though The following is assumed for students in 101-E You have taken a course in programming Thus, you know the basics of programming You will need to sign a pledge stating this You did not get a 4 or a 5 on the AP computer science exam (AB level) 29 Should you be in 101-E? If you have had a semester’s worth of programming, then yes Stay to the end of this lecture, then start going to the other section next time Meets in MEC 205 30 Human stupidity 31