Introduction to Computer Programming I CSE 113 Gaurav Kumar CSE 113 – Introduction to Computer Programming I • • • • Instructor: Gaurav Kumar Office: 113V Davis Hall Email: gauravku@buffalo.edu Email you send me should be from your UBIT email account and should include your full name and which course you are taking. CSE 113 – Introduction to Computer Programming I • Office Hours – Monday 12:00 - 1:00PM Wednesday 12:00 - 1:00PM Information on the Web • All course content will be on the course website: http://www.buffalo.edu/~gauravku/summer/CS E113 • UBLearns will be used to post course grades. Course Structure • Lecture (6 hours each week) – Monday, Wednesday 2:00 PM – 4:55 PM • Recitation/Lab (2 hours each week) – Monday, Wednesday 5:00 – 5:50 PM • You should be registered for a recitation section and a lecture. • Recitations do not meet on 06/25. Course Description and Prerequisites • This course is an introduction to computer programming for non-majors.Intended computer science or computer engineering students should not take this course. • There are no prerequisites for this course, but you should have some familiarity with a computer (that is, you should have used one before). Course Grades • 45% - Exams – Three in-class exams. Dates will be posted on the course website. • 35% - Programming Exams (2) – Two practical exams. – Dates will be listed on course website. • 20% - Programming Assignments – 6 lab assignments each worth 2.5% of your grade. One to 6 practice assignments worth a total of 5% of your course grade. Textbook • Michael Kölling – Introduction to Programming with Greenfoot: Object oriented Programming in Java with Games and Simulations • The package (paper book and eBook) is available at the University Bookstore, Greeks and Sneaks, Amazon. Course Grades • Important Note: – If you do not attempt the second practical exam, the highest grade you can earn in the course is an F. – You will not be allowed to take the second practical exam if your grade on ANY of the 6 programming assignments is below 50%. Letter Grades Score 90-100 Grade A 85-89 80 –84 75 –79 70 –74 65 –69 60 –64 55 –59 50 –54 0 –49 A- B+ B B- C+ C C- D F • There is no curve on the course grades. If your average falls in between the cutoffs, that is your grade. Course Policies • Re-grading – any questions about graded work must be raised within one week of the return of the work. • Incompletes – we will follow the university’s policy on incompletes –unless you meet the criterion, you will not get an incomplete. • Disability Services – If you are registered, please bring me the letter indicating your accommodations. • Athletics – If you are an athlete, please come to speak with me about how that will effect this course this semester. Course Policies • Disruption/Behavior in the Classroom – Take note of the University’s policy on this issue (in syllabus) – Be respectful of each other • Academic Integrity – Breaches of academic integrity will be investigated and punishments imposed in accordance with the University’s policies AND my department’s policies. – My department’s policy is that ANY breach of academic integrity is punished with an F in the course (no more lenient punishments allowed). FAQ • Where are the slides posted? CSE 113 - Announcements • Pick up (and READ) syllabus if you have not already done so. • No recitations meet today. Quiz 1 What is Computer Programming ? Convincing the computer to never freeze Setting the alarm on a computer Telling the computer what to do through a special set of instructions Speeding up your computer CSE 113 16 Quiz 1 What is Computer Programming ? Convincing the computer to never freeze Setting the alarm on a computer Telling the computer what to do through a special set of instructions Speeding up your computer CSE 113 17 What Computer Understands ? CSE 113 18 What Computer Understands ? CSE 113 19 What Computer Understands ? CSE 113 20 What Human Understand? CSE 113 21 What Human Understand? CSE 113 22 What Human Understand? CSE 113 23 Solution Bridge – Call it a Translator CSE 113 24 Flow Source Code High Level Language Compiler Object Code Linker Executable Code Machine Language Library CSE 113 25 Bug Actual Bug found in Mary II , a Computer in Harvard Lab CSE 113 26 Architecture Instructions Instr1 Instr2 Instr3 Instr4 …. Memory ALU Control Unit PC Input Output CSE 113 27 Terms • Algorithm – Recipes / Set of steps • Source code - Actual text used to write the instructions for a computer program • Compiler - software tool that translates source code into data that the computer can understand • Data type - classification of pieces of information in a program • Variable - container which represents a value in a program • Constant – It’s a CONSTANT CSE 113 28 More Terms • Conditional - Set of code that will execute only if a certain condition is true • Array - A list of related values • Loop - Segment of code that executes repeatedly • Function - Set of code used to carry out specific tasks • Class - Template for a real world object to be used in a program CSE 113 29 Syntax vs Semantics • Syntax – Not abiding by the guidelines/ set of rules • Semantic – Meaningful. ( Logical ) • Cow Dog Giraffe – Syntax Error for writing a sentence in English Language • My desk’s name is Gaurav – Semantically Wrong CSE 113 30 Quiz 2 Ask user for a number, ask user for another number, multiply the two numbers, print result.. What do you call this set of instructions? Instructions Code A compiler An algorithm CSE 113 31 Quiz 2 Ask user for a number, ask user for another number, multiply the two numbers, print result.. What do you call this set of instructions? Instructions Code A compiler An algorithm CSE 113 32 Programming Language • Language we can use to write computer programs. • Similar to and different from natural language Similarities to Natural Language • • • • Syntax - Grammar Semantics - Meaning Written down Read Differences from Natural Language • Rarely spoken Tools • Editor – Place to type the program • Compiler - Translator • Execution Environment