360 likes | 541 Views
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
E N D
Introduction to Computer Programming ICSE 113 Gaurav Kumar
CSE 113 – Introduction toComputer 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 toComputer 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/CSE113 • 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 andPrerequisites • 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 • 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
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
What Computer Understands ? CSE 113
What Computer Understands ? CSE 113
What Computer Understands ? CSE 113
What Human Understand? CSE 113
What Human Understand? CSE 113
What Human Understand? CSE 113
Solution Bridge – Call it a Translator CSE 113
Flow Source Code Compiler Object Code Executable Code Linker High Level Language Machine Language Library CSE 113
Bug Actual Bug found in Mary II , a Computer in Harvard Lab CSE 113
Architecture Instructions Instr1 Instr2 Instr3 Instr4 …. Memory ALU Control Unit PC Input Output CSE 113
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
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
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
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
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
Programming Language • Language we can use to write computer programs. • Similar to and different from natural language
Similarities to NaturalLanguage • Syntax - Grammar • Semantics - Meaning • Written down • Read
Differences from NaturalLanguage • Rarely spoken
Tools • Editor – Place to type the program • Compiler - Translator • Execution Environment