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