CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.

Slides:



Advertisements
Similar presentations
CPSC 121: Models of Computation Unit 6 Rewriting Predicate Logic Statements Based on slides by Patrice Belleville and Steve Wolfman.
Advertisements

Innovations in Teaching of Programming languages Milena Stanković Suzana Stojković Ivan Petković Petar Rajković.
Today’s Agenda  Syllabus CS2336: Computer Science II.
Snick  snack CPSC 121: Models of Computation 2009 Winter Term 1 Introduction & Motivation Steve Wolfman, based on notes by Patrice Belleville and others.
1-1 CMPT 225 Data Structures and Programming Instructor: Aaron Hunter Section: E300 Campus: Harbour Centre Semester: Spring 2007.
Snick  snack CPSC 121: Models of Computation 2011 Winter Term 1 Introduction & Motivation Steve Wolfman, based on notes by Patrice Belleville and others.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
CS : Artificial Intelligence: Representation and Problem Solving Fall 2002 Prof. Tuomas Sandholm Computer Science Department Carnegie Mellon University.
MATH 330: Ordinary Differential Equations Fall 2014.
Snick  snack CPSC 121: Models of Computation 2010/11 Winter Term 2 Introduction & Motivation Steve Wolfman, based on notes by Patrice Belleville and others.
Dr. Iyad Jafar Embedded Systems CPE 333. Instructor Information Dr. Iyad F. Jafar Office : Room 002 Computer Engineering Office Hours Sunday & Tuesday.
CSCI 1301 Principles of Computer Science I
Computer Network Fundamentals CNT4007C
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
SYSC System Analysis and Design 1 Part I – Introduction.
MATH 310, FALL 2003 (Combinatorial Problem Solving) MoWeFr 1:20 McGregory 214.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
General Physics1 Welcome to Phys 130! Blackboard blackboard.siena.edu.
Course Introduction Software Engineering
Welcome to Physics 220. What will we study? Electricity and Magnetism Why? To Graduate.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
Welcome to Physics 1D03.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CPSC 121: Models of Computation Unit 2 Conditionals and Logical Equivalences Unit 2 - Conditionals 1 Based on slides by Patrice Belleville and Steve Wolfman.
Welcome CSCI 1100/1202 Intro to Computer Science Winter 2002.
CS307 Operating Systems Course Introduction Yücel Saygın Office : FENS 2081 ext 9576.
King Saud UniversityCSC112 - First Semester CSC 112 Java Programming I Introduction.
Snick  snack CPSC 121: Models of Computation 2012 Summer Term 2 Introduction & Motivation Steve Wolfman, based on notes by Patrice Belleville and others.
Physics 131 Introduction Instructor: Dr. Michael Chen Office: P9442 Office Hour: MWF. 10:30-11:30am; or by appointment
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
CSC 111 COURSE ORIENTATION. Course name and Credit houres  CSC 111 – Computer Programming-I  Credit hours:  3 hours lecture  1 hour tutorial  2 hours.
IST 210: Organization of Data
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Physics 1B3-summer Lecture 11 Welcome to Physics 1B03 !
MTH221 November 6, /6/ DISCRETE MATHEMATICS FOR IT PROFESSIONALS Pair the class Set dates See students progress Assignments Final Exam Quizzes.
King Saud University1 CSC 112 Java Programming I Introduction.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
INTRODUCTION: WELCOME TO STAT 200 January 5 th, 2009.
Snick  snack CPSC 121: Models of Computation 2008/9 Winter Term 2 Introduction & Motivation Steve Wolfman, based on notes by Patrice Belleville and others.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
Computer Networks CNT5106C
Introduction: What is AI? CMSC Introduction to Artificial Intelligence January 7, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
CPSC 121: Models of Computation REVIEW. Course Learning Outcomes You should be able to: – model important problems so that they are easier to discuss,
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
Module 2: Conditionals and Logical Equivalences
Computer Architecture Syllabus
CSC 111 Course orientation
CPSC 121: Models of Computation
Introduction CSE 373 Data Structures.
Welcome to Physics 1D03.
Welcome to Physics 1D03 !.
CPSC 121: Models of Computation 2013 Winter Term 2
Computer Engineering Department Islamic University of Gaza
CPSC 121: Models of Computation
Administrative Issues
CPSC 121: Models of Computation
Presentation transcript:

CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman

Introductions Instructor: George Tsiknis Office: ICICS 307 Office Hours: TBA on course web TAs : See course site. Unit 0 - Introduction 2

Learning Goals By the end of this unit, you should be able to:  Give an example of how we can apply formal reasoning to a simple, real-world task.  Give an example of how a computational solution to this simple task might go wrong.  Describe the four “big questions” which we will address in CPSC 121. Unit 0 - Introduction 3

Activity Find an algorithm to order students by birthday. Unit 0 - Introduction 4 Jan 1st Feb 24th Jul 24th Jul 31st Sept 18th

Problem How many swaps did you need to make? Unit 0 - Introduction 5

Question What is the maximum number of swaps we may make to order 4 people by their birthday? a. 3 b. 4 c. 6 d. 12 e. None of these Unit 0 - Introduction 6

How many swaps? For 1 person? For 2 people? For 3 people? For 4 people? For 5 people? … For n people? Unit 0 - Introduction 7

Computing Swaps with DrRacket Computing n(n-1)/2 using DrRacket: Unit 0 - Introduction 8

Computing Swaps in Java Computing n(n-1)/2 using Java: Unit 0 - Introduction 9 import java.io.*; public class Compute { public static void main(String[] args) { int n = Integer.parseInt(args[0]); System.out.println(n * (n-1) / 2); } poirot> java Compute 5 10 poirot> java Compute poirot> java Compute

Questions Answered in CPSC 121: How can we prove that n(n-1)/2 is the largest number of swaps needed for n birthdays?  Can use the method of Mathematical Induction Why did our Java implementation print a negative value, but not the Racket implementation?  Use different Number Representation Unit 0 - Introduction 10

CPSC 121: The BIG questions: 1. How can we convince ourselves that an algorithm does what it's supposed to do? 2. How do we determine whether or not one algorithm is better than another one? 3. How does the computer (e.g. Dr. Racket) decide if the characters of your program represent a name, a number, or something else? How does it figure out if you have mismatched " " or ( )? 4. How can we build a computer that is able to execute a user-defined program? Unit 0 - Introduction 11 ??

Our Working Computer A working computer you will learn about in the labs: Unit 0 - Introduction 12

Course Learning Outcomes After you complete the course, you will be able to:  model important problems so that it is easier to discuss, reason about, solve, and test them.  learn new modeling formalisms more easily.  communicate clearly and unambiguously with other CS experts on complex topics.  characterize algorithms (CS problem solutions), by proving their correctness or efficiency.  critically read proofs: justifying why each step is correct and judging what the proof means.  explain how computers work. Unit 0 - Introduction 13

Course Administration Explore the CPSC 121 website:  You are required to be familiar with the course website. Read carefully the Course Info section on the course web site. Check the Connect site for the course for Pre-class Quizzes & Marks:  Check the Piazza site for the course discussion board  Check announcements very often Unit 0 - Introduction 14

Course Activities and Grading Your final grade will be computed as following:  Assignments (5)14%  Labs (9)14%  Pre-class Quizzes (~12)5%  Clicker Questions3%  Midterm #112%  Midterm #212%  Final Exam40% To pass the course, you must obtain at least 50% on the final exam, and at least 50% on your combined lab and assignment marks. Unit 0 - Introduction 15

Labs and Tutorials Labs  Start on Monday September 8 th.  Usually have a pre-lab and in-lab work oPre-lab work must be done before you get to the lab. oIn-lab work must be completed during the lab time, so the TAs will be able to mark it.  You must attend the lab you are registered for. Tutorials  Start on Monday September 8 th.  You will work in small groups on problems suggested by the TA.  Try to attend the tutorial you are registered for.  In first tutorial you may take the concept inventory pre-test for participation credit (0.5 % ; you’ll get another 0.5% when you complete a similar test at the end of the course). Unit 0 - Introduction 16

Assignments, Quizzes and Exams Assignments  Problems that exercise the material discussed in the lectures.  We encourage you to do them in groups of two. Pre-Class Reading and Quizzes  To facilitate your learning we assign reading from the text followed by a related quiz before certain lectures.  Usually one quiz every week, due at 7:00pm before the lecture day. There will be 2 midterms:  Tuesday October 14th, 2014, from 17:30 to 19:00, and  Monday November 10th, 2014, from 17:30 to 19:00. The final exam will be scheduled by UBC in December. Unit 0 - Introduction 17

Pre-Class Learning Goals for Next Lecture By the start of next class, you should be able to: Translate back and forth between simple natural language statements and propositional logic. Evaluate the truth of propositional logic statements using truth tables. Translate back and forth between propositional logic statements and circuits that assess the truth of those statements. 18 Unit 0 - Introduction

First Quiz The first online quiz is due: Monday, Sept 8, at 7:00pm. Sections to read for the quiz:  Epp, 4th edition: 2.1 and 2.4.  Epp, 3rd edition: 1.1 and 1.4  Rosen, 6th edition: 1.1 up to the top of page 6, and Unit 0 - Introduction 19

Second Quiz Second online quiz is due on WEDNESDAY, SEPT 10, 7:00pm. Assigned reading for the quiz:  Epp, 4th edition: 2.2  Epp, 3rd edition: 1.2  Rosen, 6th edition: 1.1 from page 6 onwards. Unit 0 - Introduction 20