Transcript COMP 110

Comp 110
Introduction to Programming
Liang-Jun Zhang
MTWRF 9:45-11:15 am
Sitterson Hall 011
June 19, 2008
1
Outline
• Course Introduction
• Administrative things
June 19, 2008
2
What Is Programming?
• Crafting a set of instructions to solve a problem
• Analogy: cooking recipes
– Ingredients (potatoes, banana, tofu, milk)
– Procedures (cut, fry, stew, mix)
– Results (potato banana ice cream)
Input
–
–
–
Program
Output
Hello world demo
Sorting algorithm demo
http://www.Kayak.com
June 19, 2008
3
What Is Programming?
• Who “reads” computer programs?
– The physical computer
– Humans (yourself, your coworkers, your
instructor)
• Must be clear and well-structured
• Programming with pen and paper
June 19, 2008
4
About COMP 110
• Learn the basic components of computer
programming
– can be applied to any programming language
(Java, C++, etc.)
• Is COMP 110 right for you?
– Require basic computer skills
– No programming knowledge assumed
• Math, algebra
June 19, 2008
5
Is COMP 110 Right for You?
• Do you have web programming experience
with Java, perl, php?
• Experience with “classes” in C++?
• Some experience with Matlab, Mathematica?
• Do you know what is meant by Object,
method, member variable, recursion, array,
sorting algorithms?
If yes to any, you may be ready for COMP401 instead.
June 19, 2008
6
About Me
• UNC Ph.D. student, will start 4th year
• Research interests
- Robotics, graphics
• http://www.cs.unc.edu/~zlj
• [email protected]
• Sitterson 330, 919-962-1737(O)
June 19, 2008
7
About You
• Introduce yourself to the class
- name
- year
- major
- something special about you …
June 19, 2008
8
Course Webpage
• http://www.cs.unc.edu/~zlj/comp110
• UNC Blackboard System
–
–
–
–
–
http://blackboard.unc.edu
Lecture notes
Sample codes
Assignments
Checking grades
June 19, 2008
9
Weekly Schedule
• Lecture
– MTWRF, 9:45-11:15 am, Sitterson Hall 011
– Bring your laptop
– Needn’t bring the textbook
• Schedule
• Office Hours
– MTWR 1:00-3:00PM, SN-019 (PC-Lab)
– Extra office hours by appointment
June 19, 2008
10
Lecture Format
• Review previous material
– Answer any questions
• Present new material
– Notebook computers closed please
• In-class exercises and programming
– use laptop computer
– work individually or in groups
• Feel free to ask questions anytime
June 19, 2008
11
Lecture Notes
• Will be posted shortly after lecture
– Might be modified
June 19, 2008
12
Textbook
Required
Java Programming: From Problem
Analysis to Program Design
D. Malik
The 3rd edition: ISBN 1-4239-0135-5
June 19, 2008
13
Software
• Java SDK (JDK)
• jGRASP
– Please install them on your laptop
• See the homework 0
• We’ll do a tour tomorrow
June 19, 2008
14
Grades
Programming Assignments
Quizzes
Midterm Exam
Final Exam
Class Participation
June 19, 2008
45 %
15 %
10 %
25 %
5%
15
Assignments
• Homework assignments from textbook
– practice for exams
• Programming assignments
– May need to demonstrate the executable code
by yourself
– budget 8-10 hours per program
• design, code, debugging
– start early!
• Deadline
– For assignments needed to turn in, the
deadlines are due at 10:59pm on the due date
– For assignments needed to demonstrate, the
deadlines are before the demo time.
June 19, 2008
16
Submitting Assignments
• All programming assignments will be
submitted through Blackboard
– Include the demo codes
• All assignments must include the honor code
pledge
– I need signed pledge on paper.
– Make it the first thing you put onto any
assignment.
• http://cs.unc.edu/~zlj/comp110/assign
ments.html
June 19, 2008
17
Collaborating
• You can
– talk to each other about the lecture topics
– talk about assignment requirements
– work in groups during recitation on
recitation assignments only
• You should
– do your own assignments -- design and code
• You should never
– talk to each other about assignment
solutions
– share code -- it is easy to detect and we
will prosecute Pledge Form
June 19, 2008
18
Late Policy
• Late submission
- if less than 24hrs : 25% off
- if less than 48hrs : 50% off
- not accepted after 48 hrs
June 19, 2008
19
Before Coding
• Before you open jGRASP and start coding
–
–
–
–
read the assignment
think about what the assignment is asking for
review lectures and examples on the topic
write (yes, on paper) your plan for completing
the assignment (i.e., your algorithm)
• talk to/email me if you’re having trouble at this point
June 19, 2008
20
Backup Your Work!
• Backup your work frequently!
• You will lose something at some point
– you might have to learn the hard way
• Use your AFS(Andrew File System) space
– use of AFS space is not required, but is recommended
– you can install the AFS Client to your notebook
June 19, 2008
21
Quizzes and Exams
• Three or fours quizzes
• Middle exam (around Jul 9)
• Final exam (Jul 24, 8:00-11:00 AM)
June 19, 2008
22
Help!
• For help on general computer
problems, including getting AFS
enabled on your laptop or at home
http://help.unc.edu
962-HELP
• For help on the course related
problems, ask the instructor
June 19, 2008
23
Sending Email to me
• Put COMP 110 in subject line
• For example:
– COMP 110, I’m lost
– COMP 110, This course is too easy
June 19, 2008
24
Introduction of jGrasp
• Demo
June 19, 2008
25
Homework 0
• Sign the paper pledge form
• Turn on the Answer the answers in the
survey through blackboard
• Install JDK & jGRASP
– JDK 6 Update 6
• http://java.sun.com/javase/downloads/index.jsp
– jGRASP 1.8.6_08 (March 21, 2008)
• http://spider.eng.auburn.edu/usercgi/grasp/grasp.pl?;dl=download_jgrasp.html
– Run sample Java program
– If you cannot install or run JDK or jGrasp,
bring your laptop tomorrow to the class.
June 19, 2008
26
Next Class
• Overview of computers and programming
languages
• Turn in pledge form
• Turn in the course survey 10:59PM, Jun 19
• Bring your laptop
June 19, 2008
27