pptx - School of Computing

advertisement
CISC101
Elements of Computing Science I
• Course Web Site:
http://research.cs.queensu.ca/home/cisc101f
note the “f”
• The lecture outlines and other stuff will be (and is)
posted.
Winter 2016
CISC101 - Prof. McLeod
1
Today
• Introduction.
• Administrivia: grading, labs, assignments,
resources.
• What the course is about.
Winter 2016
CISC101 - Prof. McLeod
2
CISC101 Introductions
• Me: Prof. Alan McLeod, Queen’s School of
Computing
– mcleod@cs.queensu.ca
– GOO 550
– Office hours: Tuesdays 11:45 to 2:15pm.
• TAs:
– Rachel House (Monday 9:30)
– Wonjoon Lee (Monday 11:30)
– Tyler Mizuyabu (Friday 8:30)
Winter 2016
CISC101 - Prof. McLeod
3
Queen’s School of Computing
• www.cs.queensu.ca
• (Linked to main page of course web site.)
• Lots of info about what the School is all about,
what’s happening and undergrad and graduate
programs and courses.
Winter 2016
CISC101 - Prof. McLeod
4
Labs
• No scheduled lab this week – start next week.
• In JEFF155, 2 hours long, Mondays 9:30 and
11:30, Fridays 8:30
• TA will be there to help with course material,
assignments and exercises.
• You will write quizzes in the lab.
• Please fill out the Moodle survey to indicate which
lab section you are in.
Winter 2016
CISC101 - Prof. McLeod
5
Grading
• Grading scheme:
– 30%
best three out of four quizzes, written in the lab
(weeks 4, 6, 9 and 10/11)
– 25%
five assignments (due Fridays, weeks 4, 6, 8,
10 and 12)
– 45%
Winter 2016
one final exam
CISC101 - Prof. McLeod
6
Quizzes
• Written in the lab, on paper, ~45 minutes, no aids.
• Will focus on lecture material.
• Later you will need to read and write Python code.
Winter 2016
CISC101 - Prof. McLeod
7
Assignment Rules
•
•
•
•
Assignments involve writing Python programs.
Exercises are good preparation.
Your code will be submitted to Moodle.
One assignment is already posted.
• Assignments are graded out of 20 – your mark
and comments will be uploaded to Moodle by your
TA.
• See the Assignment Submission page in the
course web site.
Winter 2016
CISC101 - Prof. McLeod
8
Assignment Rules, Cont.
• Late submission:
– If you miss the Friday, 7pm deadline you can
submit late up to 7pm on the following
Wednesday (five days).
– Minimum of 2 marks removed.
– Your mark will be reduced by 2 marks per day
late, unless you can prove extenuating
circumstances, such as a serious illness.
– Don’t leave your assignment to the night
before!!!
Winter 2016
CISC101 - Prof. McLeod
9
Assignment Rules, Cont.
• “Group Efforts”:
– I encourage you to discuss your difficulties with your
peers, myself and your TA.
– You may look at other people’s code.
– You cannot copy other people’s code!
– Submissions will be electronically and physically
checked for code duplication.
– If you are caught with duplicated code – all parties with
such code will get zero on the assignment, and you
may get prosecuted for a failure of academic integrity.
– You will not learn anything if you copy someone else's
code!
Winter 2016
CISC101 - Prof. McLeod
10
Resources
• Recommended text:
• Nice, gentle introduction
to programming and
Python.
Winter 2016
CISC101 - Prof. McLeod
11
Resources, Cont.
• Older CISC101 textbooks will not refer to the
Python language version 3.
• Many other learning resources are available,
electronic and paper – see the Resources page
on the course web site.
• “Should I buy the textbook?” (You ask!)
Winter 2016
CISC101 - Prof. McLeod
12
Buy or Rent the Book?
• If you need to hear the material in a different way
than how I teach it.
• If it helps to see more examples and have more
exercises to work on.
• The text will be better proofed and will have more
explanation than a typical web based resource.
• If you find that you are struggling later on in the
course.
Winter 2016
CISC101 - Prof. McLeod
13
Five More Things…
1. Manually refresh the main page and the lecture
notes pages of the course web site each time
you view them.
2. E-mail is the best way to contact me – don’t call
me. When E-mailing try to avoid using your
hotmail or gmail or non-queensu address.
3. Check to make sure you can access the
CISC101 Moodle site (Check the Student FAQ,
then E-mail me (see above!) if you can’t).
4. Update your Moodle profile.
5. Fill out the lab section survey.
Winter 2016
CISC101 - Prof. McLeod
14
Is This a Python Course?
• So, what is this course about, anyways?
• From the calendar description:
CISC101 is an "Introduction to algorithms: their
definition, design, coding, and execution on computers.
Intended for students who have no programming
experience. All or most assignment work will be
completed during lab time."
Doesn’t say anything about:
Winter 2016
CISC101 - Prof. McLeod
15
Purpose of Course, Cont.
• Computers are not much use without the
programs written by programmers.
• Computer scientists to a lot more than just write
programs of course, but this skill is pretty critical!
• The best way to learn about programming is to do
it – of course!
• Python is a fun and easy language to learn.
• Programming is a creative process…
Winter 2016
CISC101 - Prof. McLeod
16
Painting is Also Creative!
The Art of
Painting by
Johannes Vermeer
Winter 2016
CISC101 - Prof. McLeod
17
Learning How to Paint
If you were learning how to paint you would learn all
about the paints, brushes, etc.
Winter 2016
CISC101 - Prof. McLeod
18
Painting is Creative, Cont.
• Eventually, you will end up with a blank canvas, a
pile of fruit on a table and your teacher will say
“Paint this!”
Winter 2016
CISC101 - Prof. McLeod
19
Programmer’s Blank Canvas
Winter 2016
CISC101 - Prof. McLeod
20
Purpose of Course, Cont.
• I will teach you about:
– The basic structure and operation of the
hardware we are using to express ourselves.
– The fundamental parts of a computer language
used to communicate with the hardware.
– Some time-tested techniques used with the
language to efficiently express algorithms.
– Some common algorithms.
Winter 2016
CISC101 - Prof. McLeod
21
Purpose of Course, Cont.
• But, can I teach you how to program?
I certainly could not teach you how to paint!!
Winter 2016
CISC101 - Prof. McLeod
22
Purpose of Course, Cont.
• You will:
– Figure out how to write a program that does
what you want.
– Have a chance to see if you like programming.
– Be exposed to other aspects of Computer
Science.
–Have fun!!!
Winter 2016
CISC101 - Prof. McLeod
23
Why Python?
• Python is a solid language like many others: C++,
C#, VB, Java, Delphi, etc.
• It is:
–
–
–
–
–
–
Easy to learn.
Powerful.
Object Oriented.
Available for many platforms.
Structured the same as other modern languages.
Not named after a snake!!
Winter 2016
CISC101 - Prof. McLeod
24
Why Python, Cont.
• See the Tiobe Index at:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Winter 2016
CISC101 - Prof. McLeod
25
Python
• Development tools for novice python
programmers can be downloaded from
www.python.org.
• See the course Resources page for more
information.
Winter 2016
CISC101 - Prof. McLeod
26
What You Need to Do
• Decide to get the textbook or not.
• Do the “Five More Things”.
• Look over course web site.
– Look over Resources page for other aids.
– Install Python on your own computer?
• Email me if you have any problems or questions!
Winter 2016
CISC101 - Prof. McLeod
27
Download