1 / 70

Programming with Multimedia Objects CS 177

Programming with Multimedia Objects CS 177. B ASICS Course Mechanics Expectations. Lukasz (Luke) Ziarek. Curriculum Survey. You are asked to participate in a survey about the core curriculum for the College of Sciences https :// purdue.qualtrics.com /SE /?SID =SV_3f2sMjxvGiPOCJ6.

erelah
Download Presentation

Programming with Multimedia Objects CS 177

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming with Multimedia Objects CS 177 BASICS • Course Mechanics • Expectations Lukasz (Luke) Ziarek

  2. Curriculum Survey • You are asked to participate in a survey about the core curriculum for the College of Sciences • https://purdue.qualtrics.com/SE/?SID=SV_3f2sMjxvGiPOCJ6

  3. Goals for CS177 • Teach fundamentals of programming • Python • Show the scientific and interdisciplinary nature of computer science • Demonstrate the breadth of the field of computer science

  4. Class Meets • Lecture: Wed, Fri 4:30 ─ 5:20pm • Labs: many! • Recitation sessions: many! • TAs: check course website • Email: lziarek@cs.purdue.edu • Web page: http://wiki.cs.purdue.edu/177/

  5. Office Hours • Luke Ziarek • W 12:00pm – 2:00pm • F 1:00pm – 4:00pm • HAAS 142 • Dr. Martino • M 12:00pm – 1:00pm • T 10:00am -12:00pm • TAs • Will be posted on class website • Additional hours will be scheduled closer to midterms and finals

  6. SCI 210 • Teaming Requirement • Given online via blackboard module • First 6 weeks of the semester • 2 Team Projects • Team Labs

  7. Text Book John Zelle Python Programming: An Introduction to Computer Science(SECOND EDITION) Franklin, Beedle & Associates Inc. We will use other material from the web including somethe book’swebsite

  8. Python Wiki Book • We will also make use of a Wiki Book (online book) • Link provided on course website • Very concise reference • Additional examples and exercises (practice) http://en.wikibooks.org/wiki/Python_Programming

  9. Piazza • Online Forum Software • Link, Registration Information, and Tutorial provided on class website • Post Questions on Piazza • Faster turn around time • Use your classmates as a resource • Registration: • Use your Purdue Login ID • Example: lziareklziarek@purdue.edu

  10. Piazza Policies • Do not post answers on Piazza • This will be considered cheating • Make your questions as general as possible • Avoid posting large amounts of code • Use Tags • #lab1 #project1 #prelab1 • If you are note sure use the #private tag or email • Only instructors and TAs can see (we will make it public)

  11. Grading 5 Projects 25% Weekly Lab 25% 2 midterm exams 25% Final exam 20% Class Participation 5% Class will be graded on a curve Borderline cases are a judgment call

  12. Projects • Due in class at the beginning of course • Hand in will be electronic (similar to labs) • Late policy: • Up to 24h: –20% • Up to 48h: –50% • More than 48h late: no credit • You may discuss the projects (Piazza), but you must do it separately • Two projects will be team projects • Cheating cases sent to Dean of Students office

  13. Exams • No extra materials • No cell phones, calculators, PDAs, etc • Cheating referred to Dean of Students Office • Week 6 and Week 11 exact times TBA

  14. Labs and PreLabs • Starting with Lab 2 we will offer a PreLab • Available on the course wiki • NOT graded • Will contain a review and practice code to help you study/prepare for Lab • PreLabs should take about an hour (or less) • You can bring the PreLab to the lab • Covers material in previous week • Will be made available on Friday of the week prior

  15. Policies • Please read and familiarize yourself with: • http://spaf.cerias.purdue.edu/cpolicy.html • Link provided on course website • You must “sign” or accept the CS policies via the computer science portal • More details on the course website

  16. Software • JES – Robot Labs • Python Development Environment • IDLE - Python • Vanilla Python Note: JES will be introduced in your first robot lab

  17. iClicker • Will be used for in class quizzes (attendance)

  18. Class Structure (weekly) • 2 Lectures • Concepts • 1 Recitation • Review, Libraries, Interactive Coding, additional background • 1 Pre Lab • Review / Practice • 1 Lab • Realizing concepts in code

  19. Class Structure • First 6 Weeks • Boot Camp for Python • Learn the Core Python Language • Rest of the class • Additional CS concepts • Algorithms • Data Structures • Complexity / Recursion / Others • Final Project • Bring everything together (Biology Application)

  20. What is computer science?

  21. What is computer science? • The study of process or computation expressed as algorithms. • “Computers are to computer science what telescopes are to astronomy.” – E. Dijkstra

  22. Algorithms • Algorithms are the main focus • Algorithms formally describe computational processes • Programs embody algorithms Note: An algorithm is independent of how a program implements it

  23. Algorithm Example • Remove book from bag • Place book on desk • Open book to first page • Until end of book, Read. Step 4 contains a few complexities. Untilsuggests that there is some repetition and Readcould represent an algorithm also

  24. The algorithm describes the process that we want the computer to perform • The challenge is telling the computer how to perform that process

  25. Algorithms • Algorithms can specify how we access data

  26. Data structures • Data structures specify how data is organized • What if the phone book was not alphabetical?

  27. So what IS a program? • A collection of algorithms and data structures

  28. Up Next • Binary • Programming Languages • Brief Introduction to Python • Statements • Python Math Library

  29. Homework • Read Chapter 1 • Read Course Policies • Signup for Piazza • Register your iclicker

  30. Quick Review • What is Computer Science? • What is an Algorithm? • We know that a program is a collection of implemented algorithms and data structures • How do we develop a program?

  31. The Software Development Process • The process of creating a program is often broken down into stages according to the information that is produced in each phase.

  32. The Software Development Process • Analyze the ProblemFigure out exactly the problem to be solved. Try to understand it as much as possible.

  33. The Software Development Process • Determine SpecificationsDescribe exactly what your program will do. • Don’t worry about how the program will work, but what it will do. • Includes describing the inputs, outputs, and how they relate to one another. • You can think of your assignments as providing a specification

  34. The Software Development Process • Create a Design • Formulate the overall structure of the program. • This is where the how of the program gets worked out. • You choose or develop your own algorithm that meets the specifications.

  35. The Software Development Process • Implement the Design • Translate the design into a computer language. • In this course we will use Python.

  36. The Software Development Process • Test/Debug the Program • Try out your program to see if it worked. • If there are any errors (bugs), they need to be located and fixed. This process is called debugging. • Your goal is to find errors, so try everything that might “break” your program!

  37. The Software Development Process • Maintain the Program • Continue developing the program in response to the needs of your users. • In the real world, most programs are never completely finished – they evolve over time.

  38. Processor

  39. What Computers Understand • Modern (digital) computers understand two basic states: • On • Off • This is represented by high and low voltage on a wire.

  40. A single On/Off wire represents 1 bit. • 8 bits are combined together to form a byte. • Representing On/Off as 1/0 is called Binary. • Binary is a base 2 number system • Our every-day numbers are base 10

  41. Binary • In base 10, each place holder or digit position represents a power of 10. • In binary, each place holder represents a power of 2. • The number 135 is broken down as 1*102 + 3*101 +5*100 in base 10

  42. Binary • The base determines how many digits are available. • In base 10 there are ten digits (0 … 9) • In base 2 there are two digits (0 or 1) • The binary number 101 is broken down as 1*22 + 0*21 +1*20 or 4+1=5 (converted to base 10)

  43. Binary • Despite having a different base, arithmetic is the same • Add each column and carry digits • 1 + 1 = 10 as the 1 is carried • 101 + 101 = • 1010

  44. Longer Example 001101 + 101011 11100 11

  45. Longer Example 001101 + 101011 111000 1111

  46. Longer Example 001101 + 101011 111000 1111

  47. Longer Example 001101 + 101011 111000 1111

  48. Longer Example 001101 + 101011 111000 1111

  49. Longer Example 001101 + 101011 111000 1111

  50. Longer Example 001101 + 101011 111000 1111 Verification: 13 + 43 = 56

More Related