Transcript slide1

Introduction to Computer
Programming I
CSE 113
Gaurav Kumar
CSE 113 – Introduction to
Computer Programming I
•
•
•
•
Instructor: Gaurav Kumar
Office: 113V Davis Hall
Email: [email protected]
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