1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 01a: Overview of the course Jarek Rossignac CS1050: Understanding.

Slides:



Advertisements
Similar presentations
John Hurley Cal State LA
Advertisements

MAT 3749 Introduction to Analysis Fall 2013
Lecture 1: Overview CMSC 201 Computer Science 1 (Prof. Chang version)
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Note 1 of 5E Welcome to Pstat5E: Statistics with Economics and Business Applications Yuedong Wang Syllabus.
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
CMSC 132: Object-Oriented Programming II
CS 201: Introduction To Programming With Java
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
ECS15: Introduction to Computers Fall 2013 Patrice Koehl
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Computer Network Fundamentals CNT4007C
7-Sep-15 Physics 1 (Garcia) SJSU Conceptual Physics (Physics 1) Prof. Alejandro Garcia Spring 2007.
CSNB143 – Discrete Structure
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
MGS 351 Introduction to Management Information Systems
1 SIC / CoC / Georgia Tech MAGIC Lab Rossignac Project 1  Problem  Work plan  Guidelines  Deliverables  Report.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
CPS120: Introduction to Computer Science Fall: 2002 Instructor: Paul J. Millis.
Introduction to Discrete Mathematics J. H. Wang Sep. 14, 2010.
Computer Science 10: Introduction to Computer Science Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Discrete Maths: Prelim/0 1 Discrete Maths (OLD) Objective – –to give some background on the course , Semester 1, Who I am: Andrew.
Welcome to CS 221! First Course in Computer Science for Engineers.
Welcome to CS 115! Introduction to Programming. Class URL ~mjspra2/ 115summer/
Bilgisayar Mühendisliği Bölümü CENG 102 – Computer Programming Melek OKTAY Syllabus Administrative Information.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
PHY 1405 Conceptual Physics (CP 1) Spring 2010 Cypress Campus.
Discrete Mathematics CS204 Spring CS204 Discrete Mathematics Instructor: Professor Chin-Wan Chung (Office: Rm 3406, Tel:3537) 1.Lecture 1)Time:
Lecture Section 001 Spring 2008 Mike O’Dell CSE 1301 Computer Literacy.
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CPS120: Introduction to Computer Science Winter 2002 Instructor: Paul J. Millis.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 02b: Tutorial for Programming in Processing Jarek Rossignac.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Please CLOSE YOUR LAPTOPS, and turn off and put away your cell phones, and get out your note- taking materials.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 02: QUANTIFIERS Sections 1.3 and 1.4 Jarek Rossignac CS1050:
CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D /
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
1 CSC 281 Discrete Mathematics for Computer Science Dr.Yuan Tian Syllabus.
Computer Networks CNT5106C
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 05: SORTING Section 2.1 Jarek Rossignac CS1050: Understanding.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 09a: PROOF STRATEGIES Section 3.1 Jarek Rossignac CS1050:
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 01: Boolean Logic Sections 1.1 and 1.2 Jarek Rossignac.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Computer Engineering Department Islamic University of Gaza
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
Computer Networks CNT5106C
Computer Science 102 Data Structures CSCI-UA
September 27 – Course introductions; Adts; Stacks and Queues
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
26 July 2011 SC 611 Class 1.
Presentation transcript:

1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Lecture 01a: Overview of the course Jarek Rossignac CS1050: Understanding and Constructing Proofs Spring

2 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Course Objectives LEARN Logic, Boolean Algebra, Applications to Graphics Proofs, Strategies, Details, Practice, Puzzles Algorithms, Computational Geometry, Complexity SHARPEN SKILLS Creativity, Problem Solving, Research Programming, Recursion, OO, Graphics, Multimedia Teamwork, Communication

3 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Motivation Computers are good at logic, you should be too –To program, you need to translate your solutions into logic Many applications are based on what the course covers –Graphics, compression, networking, security, hardware, databases, search engines, AI…. You must be able to prove the correctness of your solution or your claim on its computational cost to prevent a crash –When the problem occurs, it may be too late for debugging –Prevent bugs by using logic, proofs and complexity analysis The concepts and terminology covered in class will help you to read papers and to take more advanced classes They are part of the mandatory culture for a CS major This is great brain aerobics and problem-solving practice

4 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Example p(n)=n 2 +n+41,  n  N p(n) is prime (Euler 1772) –N = {natural numbers, 0,1,2,3….} –Prime: integer >1 and only divisible by itself and 1 (only 2 factors) –Positive integer = product of primes (increasing order: canonical) It works –p(0)=41, p(1)=34, p(2)=47. P(3)=53…p(39)=1601 are all prime! Does it? (Proof of contrary by counterexample) –p(40)= =  40+1=(40+1) 2 =1681 is not prime Find primes using Eratosthenes’ Sieve –Start at 2. Cross out multiples of each prime encountered (not crossed) Largest prime found so far has digits –It is a Mersenne prime 2 n –1

5 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac SUPPORT MATERIAL Mandatory Textbook Discrete Mathematics and Its Applications (Hardcover) by Kenneth H Rosen (5th edition), ISBN D Student Solutions Guide for Discrete Mathematics and Its Applications by Kenneth H Rosen (5th edition) REQUIRED ADDITIONAL READINGS Will be posted on the web page or listed on slides Other resources The book of Numbers, John Conway and Richard Guy, ISBN X Will be posted on slides or on web page

6 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Syllabus Boolean, Quantifiers Proofs Sets, Functions Sorting, Complexity Integers, Matrices Proof strategies, Sequences, Induction Counting, Permutations Computational Geometry Boolean Algebra, Active Zones, Blist, CSG Rendering Graphs, Connectivity, Trees Triangle Meshes, Compression

7 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac BEFORE EACH CLASS - Study the assigned sections of the text book - Try to do the exercises and note questions/doubts you may have - Print the slides for the upcoming class, study them, note questions you may have - Read additional material (when assigned) and write down questions - Read carefully the descriptions of future projects and write down questions you may have - Make sure that you bring to class: the slides, your solutions to the exercises, all your questions - During the quiz of that class, you will be asked a simple question testing whether you have read the assigned material

8 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac DURING EACH CLASS - Attend the lecture (mandatory) and pay attention - Ask your questions about slides, exercises, projects - Write down the answers and explanations - Take detailed notes of lecture, answers to questions, solutions to in-class projects (including mistakes) - Make sure that you understand all that is covered (If not, ask for clarifications right away) - Participate actively in (team) exercises - Raise your hand when you know the answer to a question asked by the instructor or think that you may have a plausible answer (mistakes are welcome)

9 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac AFTER EACH CLASS Redo the assigned exercises you had trouble with Learn how to solve these exercises by heart –You will be asked to solve 1 or 2 of them in the quiz at the beginning of the next lecture Start working on the next project right away … Prepare for the next lecture as suggested in the slide “BEFORE CLASS”

10 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Practice exercises Will be listed at the end of slides for each class. You must Do exercises before the class for which they are assigned Bring your solutions to class Ask questions (if any) about them in class After class, learn by heart how to solve them and make sure that you know how to solve similar exercises You will have a quiz on them on the class that follows the one where they are discussed Between classes you work on 2 sets of exercises Learn how to solve old ones for the quiz Do new ones to discuss them on the next lecture

11 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Software Projects About 1 per week –Very easy… and fun (sometimes) Code in Processing (Java variant) Deliverables via a Personal Project Page (PPP) –Password protected (to be discussed later) –Name, , a Photo of you –Links to projects For each project, include: Link to web page with Java applet from your PPP Link to commented source code –Comment all variables, functions, methods, non-trivial instructions –Include in header of source code »Class »Project number and title »Your name »Date completed –Any sources used (URLs, names of people who helped, books, papers) Short write up (when requested)

12 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Grades 25% Final 25% Midterms (10% Midterm 1, 15% Midterm 2) 25% Quizzes 25% Software projects

13 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac ACADEMIC INTEGRITY Plagiarizing is “to steal and pass off (the ideas or words of another) as one's own : use (another's production) without crediting the source” [Webster]. If caught plagiarizing, you will be dealt with according to the GT Academic Honor Code. Unless specifically identified as group work; quizzes, tests, take-home-tests, homework, etc. are to be completed alone. If you find that the solution to a homework or to a problem that you must solve in a project is published in a book, article, webpage, etc., you may use it as an inspiration, provided that you clearly identify the source (providing a complete URL or bib reference) and that you rewritee it in your own words, providing detailed explanations showing that you understand the overall approach and the details of every step. In fact, you are encouraged to improve on that solution and to briefly document your improvement. When working on a software project, you ("you" standing for a single student for individual projects or for the team for team projects) may use utilities and libraries developed by others for all the non-essential parts of your program, provided that you clearly identify their source in the header of your program. Examples of such utilities include graphics libraries, matrix multiplication, and linear solvers. The essential parts of the program (which relate to the material taught in class) must be entirely coded by you and must include clear comments. If you find source code or high level algorithmic descriptions that implement the desired functions, you may use them as inspiration, provided that you clearly identify the source of inspiration both in your source file and on the project report and that you rewrite and comment the code in your own style, to clearly demonstrate that you understand its structure and details. Finally, I encourage you to discuss the projects with other students in the class and to freely share ideas and resources. You may also ask colleagues or the TA to help fix a bug in your code. But you may not use or copy their code.

14 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Other Info Class web page maintained by instructor Instructor’s Office Hours –Tuesdays in CCB Teaching Assistant –Name: Keshev Attrey –

15 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Mini quiz of prior expertise Take a sheet of paper and write your name on it Please write legibly I will collect your answers to better understand what you already know This will not impact your grade

16 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Write your answers clearly Translate into English  x  Z  !y  Z x+y=0 Is (p  q)  (¬p  ¬q) true? What is A  (B  C)? What does this program do? int [] A = new int[1000]; for (int i=0; i<1000; i++) {A[i]=int(random(10000));}; int maxVal = 0; for (int i = 1; i<1000; i++) {if (A[i]>maxVal) {maxVal=A[i];};}; print(maxVal); Pass sheet forwardAB C

17 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Translate into English  x  Z  !y  Zx+y=0 Each integer has a unique oppisite

18 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Is it true? (p  q)  (¬p  ¬q) no. p = “It rains” q = “I am wet” “When it rains, I am wet” is not equivalent to “When it does not rains, I am not wet” for example I cold be in the pool.

19 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac What is A  (B  C)? A B C

20 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac What does this program do? int [] A = new int[1000]; for (int i=0; i<1000; i++) {A[i]=int(random(10000));}; int maxVal = 0; for (int i = 1; i<1000; i++) {if (A[i]>maxVal) {maxVal=A[i];};}; print(maxVal); makes an array of random integers and computes their maximum

21 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Study groups Take your books and bag and go to the front of the class Sort yourselves by birthday (month/day) If you are a group of 3 friends who want to be a study group, go and sit together If you are a group of 2 friends who want to be in the same study group, invite the first single person of the line into your group and sit together The rest will be grouped by 3 in line order

22 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac In class teamwork Combine lectures with team problem-solving sessions Sit with your team (study groups) –Introduce yourselves –Exchange your names, coordinates ( , phone) –Lock a time when you can meet –You should help each other for Project P0 –You should help each other assimilate the material and learn how to solve the exercises In-class team exercise (10 mns) –On a blank sheet, write your first and last names –Write the formula for solving a second degree equation (be precise) –Write a proof –Raise your hands when done –Pass the sheets forward