Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines and other stuff will be (and is) posted. note the “f”
Today Introduction. Administrivia: grading, labs, assignments, resources. What the course is about. Winter 2016CISC101 - Prof. McLeod2
Winter 2016CISC101 - Prof. McLeod3 CISC101 Introductions Me: Prof. Alan McLeod, Queen’s School of Computing –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)
Queen’s School of Computing (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 2016CISC101 - Prof. McLeod4
Winter 2016CISC101 - Prof. McLeod5 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 2016CISC101 - Prof. McLeod6 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%one final exam
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 2016CISC101 - Prof. McLeod7
Winter 2016CISC101 - Prof. McLeod8 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.
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 2016CISC101 - Prof. McLeod9
Winter 2016CISC101 - Prof. McLeod10 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!
Resources Recommended text: Nice, gentle introduction to programming and Python. Winter 2016CISC101 - Prof. McLeod11
Winter 2016CISC101 - Prof. McLeod12 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!)
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 2016CISC101 - Prof. McLeod13
Winter 2016CISC101 - Prof. McLeod14 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. is the best way to contact me – don’t call me. When ing 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 me (see above!) if you can’t). 4.Update your Moodle profile. 5.Fill out the lab section survey.
Winter 2016CISC101 - Prof. McLeod15 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 2016CISC101 - Prof. McLeod16 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 2016CISC101 - Prof. McLeod17 Painting is Also Creative! The Art of Painting by Johannes Vermeer
Winter 2016CISC101 - Prof. McLeod18 Learning How to Paint If you were learning how to paint you would learn all about the paints, brushes, etc.
Winter 2016CISC101 - Prof. McLeod19 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 2016CISC101 - Prof. McLeod20 Programmer’s Blank Canvas
Winter 2016CISC101 - Prof. McLeod21 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 2016CISC101 - Prof. McLeod22 Purpose of Course, Cont. But, can I teach you how to program? I certainly could not teach you how to paint!!
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 2016CISC101 - Prof. McLeod23
Winter 2016CISC101 - Prof. McLeod24 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!!
Why Python, Cont. See the Tiobe Index at: Winter 2016CISC101 - Prof. McLeod25
Winter 2016CISC101 - Prof. McLeod26 Python Development tools for novice python programmers can be downloaded from See the course Resources page for more information.
Winter 2016CISC101 - Prof. McLeod27 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? me if you have any problems or questions!