Programming for Scientists (02-201) Prof: Phillip Compeau TA: Tim Wall

Size: px
Start display at page:

Download "Programming for Scientists (02-201) Prof: Phillip Compeau TA: Tim Wall"

Transcription

1 Programming for Scientists (02-201) Prof: Phillip Compeau TA: Tim Wall

2 Introduce Yourselves!

3 Who Has Programmed Before?

4 Class Goals 1. Learn the basics of programming (in Go). 2. Understand some algorithms needed for science.

5 Course Format 50%: Homework assignments (Autolab) 40%: Exams 10%: Midterm 1 10%: Midterm 2 20%: Final exam 10%: Class participation

6 Getting Help My office hours: Wed. 10:30 AM 11:30 AM (GHC 7403) or by appointment Tim s office hours: Mon., Thurs. 3:30 PM 4:30 PM (GHC 7409) Piazza: online private discussion forum

7 Academic Honesty Good: discussing homework assignments with classmates/tas/professor indicating these discussions in your code. Bad: using someone else s code (even part of it) using previous semester s answer keys/solution manuals

8 Phone/Computer Policy

9 ?

10 Brain Teasers We ll start with a few brain teasers to get you thinking computationally. First: how did I know the day of the week that your birthday is on?

11 Communicating when Locked-In

12 Bauby s Solution Courtesy: Canal Plus

13 Finding the Only Other Survivor on Earth?

14 An Elegant Solution Each person walks randomly. Every once in a while, they mark the direction that they went in. Every other day, they stop to rest. If they find the other person s mark, they follow the direction of the arrow without resting. They return to random walking if they don t find another mark (or the other person) within a few days.

15 Teaching a Robot to Play Soccer?

16 What Does This Have to Do With Science? Ge0y

17 A Prophetic One-Liner Francis Crick James Watson "It has not escaped our notice that the specific pairing we have postulated immediately suggests a possible copying mechanism for the genetic material."

18 The Copying Mechanism

19 The Copying Mechanism

20 The Copying Mechanism

21 What a Biologist Sees...

22 What a Computer Scientist Sees......ACTGATAACCCAGTATCAGACCAGTATCGAGGACGATACGTA... DNA String

23 What a Computer Scientist Sees......ACTGATAACCCAGTATCAGACCAGTATCGAGGACGATACGTA... DNA String Complicated Biological Process

24 What a Computer Scientist Sees......ACTGATAACCCAGTATCAGACCAGTATCGAGGACGATACGTA... DNA String Complicated Biological Process Copy 1...ACTGATAACCCAGTATCAGACCAGTATCGAGGACGATACGTA......ACTGATAACCCAGTATCAGACCAGTATCGAGGACGATACGTA... Copy 2

25 Origin of Replication Replication begins in a region called the replication origin (denoted ori).

26 Viral Vectors/Gene Therapy Inserted gene Origin of replication STOP and Think: How could we locate ori? Cell

27 Finding the Origin of Replication Finding ori Problem: Find ori in a genome.

28 Finding the Origin of Replication Finding ori Problem: Find ori in a genome. Let s hack out this DNA fragment. Can the genome replicate without it?

29 Finding the Origin of Replication Finding ori Problem: Find ori in a genome. Let s hack out this DNA fragment. Can the genome replicate without it? I need more information before I can hack this problem.

30 Looking for ori Verified ori of Vibrio cholerae, the bacterium that causes cholera ( 500 nucleotides): atcaatgatcaacgtaagcttctaagcatgatcaaggtgctcacacagtttatccacaac ctgagtggatgacatcaagataggtcgttgtatctccttcctctcgtactctcatgacca cggaaagatgatcaagagaggatgatttcttggccatatcgcaatgaatacttgtgactt gtgcttccaattgacatcttcagcgccatattgcgctggccaaggtgacggagcgggatt acgaaagcatgatcatggctgttgttctgtttatcttgttttgactgagacttgttagga tagacggtttttcatcactgactagccaaagccttactctgcctgacatcgaccgtaaat tgataatgaatttacatgcttccgcgacgatttacctcttgatcatcgatccgattgaag atcttcaattgttaattctcttgcctcgactcatagccatgatgagctcttgatcatgtt tccttaaccctctattttttacggaagaatgatcaagctgctgctcttgatcatcgtttc

31 Looking for ori Verified ori of Vibrio cholerae, the bacterium that causes cholera ( 500 nucleotides): atcaatgatcaacgtaagcttctaagcatgatcaaggtgctcacacagtttatccacaac ctgagtggatgacatcaagataggtcgttgtatctccttcctctcgtactctcatgacca cggaaagatgatcaagagaggatgatttcttggccatatcgcaatgaatacttgtgactt gtgcttccaattgacatcttcagcgccatattgcgctggccaaggtgacggagcgggatt acgaaagcatgatcatggctgttgttctgtttatcttgttttgactgagacttgttagga tagacggtttttcatcactgactagccaaagccttactctgcctgacatcgaccgtaaat tgataatgaatttacatgcttccgcgacgatttacctcttgatcatcgatccgattgaag atcttcaattgttaattctcttgcctcgactcatagccatgatgagctcttgatcatgtt tccttaaccctctattttttacggaagaatgatcaagctgctgctcttgatcatcgtttc There must be a hidden message telling the cell to start replication here.

32 The Hidden Message Problem Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text.

33 The Hidden Message Problem Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. STOP and Think: Is the Hidden Message Problem clearly stated to the computer scientist?

34 Hidden Messages in The Gold-Bug 53++!305))6*;4826)4+.)4+) ;806*;48!8`60))85;]8*:+*8!83(88)5*!;46(;88*96*?;8) *+(;485);5*!2:*+(;4956*2( 5*4)8`8*; );)6!8)4+ +;1(+9;48081;8:8+1;48!85; 4)485!528806*81(+9;48;(88 ;4(+?34;48)4+;161;:188;+?; Edgar Allan Poe

35 Hidden Messages in The Gold-Bug 53++!305))6*;4826)4+.)4+) ;806*;48!8`60))85;]8*:+*8!83(88)5*!;46(;88*96*?;8) *+(;485);5*!2:*+(;4956*2( 5*4)8`8*; );)6!8)4+ +;1(+9;48081;8:8+1;48!85; 4)485!528806*81(+9;48;(88 ;4(+?34;48)4+;161;:188;+?; Edgar Allan Poe STOP and Think: How would you decode this message?

36 Why is ;48 so Frequent? 53++!305))6*;4826)4+.)4+) ;806*;48!8`60))85;]8*:+*8!83(88)5*!;46(;88*96*?;8) *+(;485);5*!2:*+(;4956*2( 5*4)8`8*; );)6!8)4+ +;1(+9;48081;8:8+1;48!85; 4)485!528806*81(+9;48;(88 ;4(+?34;48)4+;161;:188;+?; Edgar Allan Poe

37 THE is the Most Frequent English Word 53++!305))6*THE26)4+.)4+) ;806*THE!8`60))85;]8*:+*8!83(88)5*!;46(;88*96*?;8) *+(THE5);5*!2:*+(;4956*2( 5*4)8`8*; );)6!8)4+ +;1(+9THE081;8:8+1THE!85; 4)485!528806*81(+9THE;(88 ;4(+?34THE)4+;161;:188;+?; Edgar Allan Poe

38 Can You Finish Decoding the Message? 53++!305))6*THE26)H+.)H+) T806*THE!E`60))E5;]E*:+*E!E3(EE)5*!TH6(TEE*96*?;E) *+(THE5)T5*!2:*+(TH956*2( 5*H)E`E*TH0692E5)T)6!E)H+ +T1(+9THE0E1TE:E+1THE!E5T 4)HE5!52EE06*E1(+9THET(EE TH(+?34THE)H+T161T:1EET+?T Edgar Allan Poe

39 Hidden Message Problem Revisited Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. The notion of hidden message is not defined.

40 Hidden Message Problem Revisited Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. The notion of hidden message is not defined. Hint: For various biological processes, certain important words appear frequently in short regions of the genome.

41 Hidden Message Problem Revisited Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. Replication initiation is mediated by a protein called DnaA.

42 Hidden Message Problem Revisited Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. Replication initiation is mediated by a protein called DnaA. DnaA binds to a short segment in ori known as a DnaA box, a hidden message saying: bind here!

43 Hidden Message Problem Revisited Hidden Message Problem. Find a hidden message in the replication origin. Input: A string Text (representing ori). Output: A hidden message in Text. Replication initiation is mediated by a protein called DnaA. DnaA binds to a short segment in ori known as a DnaA box, a hidden message saying: bind here! Multiple DnaA boxes à higher chance of binding

44 The Frequent Words Problem k-mer: A string of length k.

45 The Frequent Words Problem k-mer: A string of length k. A k-mer Pattern is a most frequent k-mer in a string if no other k-mer is more frequent than Pattern.

46 The Frequent Words Problem k-mer: A string of length k. A k-mer Pattern is a most frequent k-mer in a string if no other k-mer is more frequent than Pattern. Frequent Words Problem. Find the most frequent k- mers in a string. Input: A string Text and an integer k. Output: All most frequent k-mers in Text.

47 The Frequent Words Problem k-mer: A string of length k. A k-mer Pattern is a most frequent k-mer in a string if no other k-mer is more frequent than Pattern. Frequent Words Problem. Find the most frequent k- mers in a string. Input: A string Text and an integer k. Output: All most frequent k-mers in Text. STOP and Think: Now is this problem clearly stated?

48 Computational Problems Computational Problem: A clearly defined problem along with Input: the object we need to process. Output: the result of solving the problem.

49 Algorithms Algorithm: A clearly described sequence of steps solving a given computational problem.

50 Algorithms Algorithm: A clearly described sequence of steps solving a given computational problem. Input Algorithm Output

51 Solving the Frequent Words Problem Frequent Words Problem. Find the most frequent k- mers in a string. Input: A string Text and an integer k. Output: All most frequent k-mers in Text. Exercise Break: Design an algorithm for solving the Frequent Words Problem.

52 Solving the Frequent Words Problem Frequent Words Problem. Find the most frequent k- mers in a string. Input: A string Text and an integer k. Output: All most frequent k-mers in Text. 1. Identify every k-mer appearing in Text. 2. Count the number of times each such k-mer appears in Text. 3. Take the k-mers having the maximum counts.

53 Solving the Frequent Words Problem Frequent Words Problem. Find the most frequent k- mers in a string. Input: A string Text and an integer k. Output: All most frequent k-mers in Text. 1. Identify every k-mer appearing in Text. 2. Count the number of times each such k-mer appears in Text. 3. Take the k-mers having the maximum counts.

54 Counting Pattern in Text 1. Start from the first position of Text and check whether Pattern appears in Text starting at its first position. 2. If yes, draw a dot on a piece of paper. 3. Move to the second position of Text and check whether Pattern appears in Text starting at its second position. 4. If yes, draw another dot on the same piece of paper. 5. Continue until you reach the end of Text. 6. Count the number of dots on the piece of paper. STOP and Think: Is this algorithm clear?

55 Humans vs. Computers Slow Makes mistakes Hates repetitive work Fast Accurate Loves repetitive work

56 Humans vs. Computers Slow Makes mistakes Hates repetitive work Understands human language Fast Accurate Loves repetitive work Does not understand human language

57 Humans vs. Computers Slow Makes mistakes Hates repetitive work Understands human language Fast Accurate Loves repetitive work Does not understand human language... yet

58 Many Programming Languages

59 Pseudocode Pseudocode: A way of describing algorithms by emphasizing ideas that is just right...

60 Pseudocode Pseudocode: A way of describing algorithms by emphasizing ideas that is just right... Not too vague, like human language Not too precise, like a specific programming language

61 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d

62 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d Distance: name of the algorithm.

63 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d x1, y1, x2, y2: input arguments / parameters.

64 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d d: a variable whose value changes in the program.

65 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d ß: assign value on right to variable on left

66 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d d ß d: a variable can be used to update itself.

67 An Example Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d return d: output of algorithm.

68 Another Program Distance(x1, y1, x2, y2) d ß (x2 x1) 2 + (y2 y1) 2 d ß d return d f(x, y, z, w) abracadabra ß (z x) 2 + (w y) 2 abracadabra ß abracadabra return abracadabra STOP and Think: Is this algorithm different from the last one?

69 Minimum2(a, b) if a > b return b else return a If Statements

70 If Statements Minimum2(a, b) if a > b return b else return a if statement: takes following form. if statement X is true execute instructions Y else (statement X is not true) execute instructions Z

71 Minimum3(a, b, c) if a > b if b > c return c else return b If Statements

72 Minimum3(a, b, c) if a > b if b > c return c else return b else if a > c return c else return a If Statements

73 If Statements Minimum3(a, b, c) if a > b if b > c return c else return b else if a > c return c else return a STOP and Think: Where have we seen this code?

74 If Statements Minimum3(a, b, c) if a > b if b > c return c else return b else if a > c return c else return a Minimum2(b, c) Minimum2(a, c) STOP and Think: Where have we seen this code?

75 If Statements Minimum3(a, b, c) if a > b return Minimum2(b, c) else return Minimum2(a, c)

76 If Statements Minimum3(a, b, c) if a > b return Minimum2(b, c) else return Minimum2(a, c) Subroutine: a function used within another function.

77 If Statements Minimum3(a, b, c) if a > b return Minimum2(b, c) else return Minimum2(a, c) Subroutine: a function used within another function. Exercise Break: Write pseudocode for a function Minimum4(a, b, c, d) that computes the minimum of four numbers.

From Last Time... Given a bacterial genome (~3 Mbp), where is ori?

From Last Time... Given a bacterial genome (~3 Mbp), where is ori? From Last Time... Given a bacterial genome (~3 Mbp), where is ori? Given ori (~500 bp), what is the hidden message saying that replication should start here? From Last Time... Frequent Words Problem. Find

More information

VL Bioinformatik für Nebenfächler SS2018 Woche 4

VL Bioinformatik für Nebenfächler SS2018 Woche 4 VL Bioinformatik für Nebenfächler SS2018 Woche 4 Tim Conrad AG Medical Bioinformatics Institut für Mathematik & Informatik, FU Berlin Based on slides by P. Compeau and P. Pevzner, authors of Tutorien-Termine

More information

COMP 555 BioAlgorithms Spring 2017

COMP 555 BioAlgorithms Spring 2017 COMP 555 BioAlgorithms Spring 2017 Lecture 2: Searching for patterns in data From Daniel Becker's VisualDNA project (http://www.visual-dna.de/index_en.htm) From Chapter 1 of "Bioinformatics Algorithms:

More information

Spring Programming Contest

Spring Programming Contest Spring Programming Contest February 24, 2018 Arena Survival Best Burger in Macon Clump Finding Comedy Show Dog Park Drizzle Great Race Kangaroo Words Problem 9 was removed from the contest. Nth Derivative

More information

Standards/ Strands Essential Questions Skills Assessment. What are the strengths and weaknesses of Processing as a programming language?

Standards/ Strands Essential Questions Skills Assessment. What are the strengths and weaknesses of Processing as a programming language? WDHS Curriculum Map Course: Introduction to Computer Science 2 Time Interval/ Content Standards/ Strands Essential Questions Skills Assessment Unit 1: Introduction to 2 weeks Learning Lesson 1 (Chapters

More information

Welcome to CS 135 (Winter 2018)

Welcome to CS 135 (Winter 2018) Welcome to CS 135 (Winter 2018) Instructors: Sandy Graham, Paul Nijjar Other course personnel: see website for details ISAs (Instructional Support Assistants) IAs (Instructional Apprentices) ISC (Instructional

More information

Lecture Notes CPSC 321 (Fall 2018) Today... Survey. Course Overview. Homework. HW1 (out) S. Bowers 1 of 8

Lecture Notes CPSC 321 (Fall 2018) Today... Survey. Course Overview. Homework. HW1 (out) S. Bowers 1 of 8 Today... Survey Course Overview Homework HW1 (out) S. Bowers 1 of 8 Course Overview Course webpage www.cs.gonzaga.edu/bowers/courses/cpsc321 Please check frequently (schedule, notes, assignments, etc.)

More information

ASSIGNMENT 4. COMP-202, Summer 2017, All Sections. Due: Friday, June 16 th, 11:59pm

ASSIGNMENT 4. COMP-202, Summer 2017, All Sections. Due: Friday, June 16 th, 11:59pm ASSIGNMENT 4 COMP-202, Summer 2017, All Sections Due: Friday, June 16 th, 11:59pm Please read the entire PDF before starting. You must do this assignment individually. Question 1: 100 points 100 points

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

ECE573 Introduction to Compilers & Translators

ECE573 Introduction to Compilers & Translators ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30

More information

Homework 1 Due Tuesday, January 30, 2018 at 8pm

Homework 1 Due Tuesday, January 30, 2018 at 8pm CSECE 374 A Spring 2018 Homework 1 Due Tuesday, January 30, 2018 at 8pm Starting with this homework, groups of up to three people can submit joint solutions. Each problem should be submitted by exactly

More information

CS61A Lecture 1. Amir Kamil UC Berkeley January 23, 2013

CS61A Lecture 1. Amir Kamil UC Berkeley January 23, 2013 CS61A Lecture 1 Amir Kamil UC Berkeley January 23, 2013 Welcome to CS61A! The Course Staff I ve been at Berkeley a long time, and took CS61A a while back. Read the course info to find out when! TAs essentially

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 9: OCT. 4TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 9: OCT. 4TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 9: OCT. 4TH INSTRUCTOR: JIAYIN WANG 1 Notice Assignments Reading Assignment: Chapter 3: Introduction to Parameters and Objects The Class 9 Exercise

More information

CS1 Lecture 13 Feb. 13, 2019

CS1 Lecture 13 Feb. 13, 2019 CS1 Lecture 13 Feb. 13, 2019 Exam 1, Thursday evening, 2/21, 6:30-8:00pm, W290 CB Email about make-ups will be sent tomorrow HW4 Q1 available. Q2 Q4 tomorrow. For Q1 only, Academic Honesty policy does

More information

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 COMPUTER SCIENCE 61A September 4, 2013 0.1 Warmup What Would Python Do? >>> x = 6 >>> def square(x):... return x * x >>> square(x) >>> max(pow(2, 3), square(-5))

More information

Finding Hidden Patterns in DNA. What makes searching for frequent subsequences hard? Allowing for errors? All the places they could be hiding?

Finding Hidden Patterns in DNA. What makes searching for frequent subsequences hard? Allowing for errors? All the places they could be hiding? Finding Hidden Patterns in DNA What makes searching for frequent subsequences hard? Allowing for errors? All the places they could be hiding? 1 Initiating Transcription As a precursor to transcription

More information

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment) Syllabus COSC-051-x - Computer Science I Fall 2018 Instructor: Jeremy Bolton, Ph.D. Asst Teaching Professor Department of Computer Science Office: TBD (see Course calendar for office hours) Email: jeremy.bolton@georgetown.edu

More information

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007 CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007 Lecture Hours: 2 Lab Hours: 2 Credit Hours: 3 Class Time: Saturday 8:30 AM - 12:00 PM Room: BU

More information

CS 150 Introduction to Computer Science 1

CS 150 Introduction to Computer Science 1 CS 150 Introduction to Computer Science 1 Professor: Chadd Williams CS150 Introduction to Computer Science 1 Chadd Williams http://zeus.cs.pacificu.edu/chadd chadd@pacificu.edu Office 202 Strain Office

More information

CS1 Lecture 3 Jan. 18, 2019

CS1 Lecture 3 Jan. 18, 2019 CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due

More information

Question: Total Points: Score:

Question: Total Points: Score: CS 170 Exam 1 Section 000 Spring 2015 Name (print): Instructions: Keep your eyes on your own paper and do your best to prevent anyone else from seeing your work. Do NOT communicate with anyone other than

More information

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis VE281 Data Structures and Algorithms Introduction and Asymptotic Algorithm Analysis Time and Location Time: Tuesday 10:00-11:40 am, Thursday 10:00-11:40 am. Location: Dong Xia Yuan 200 2 Instructor Weikang

More information

CS1 Lecture 3 Jan. 22, 2018

CS1 Lecture 3 Jan. 22, 2018 CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow

More information

Name & Recitation Section:

Name & Recitation Section: Name & Recitation Section: Due Wednesday, Jan 5 at 2:10 PM in 34-101. Please print out your code files (homework 1.py, rps.py, loops.py, and any code you wrote for optional problems), staple them to the

More information

CS 4349 Lecture August 21st, 2017

CS 4349 Lecture August 21st, 2017 CS 4349 Lecture August 21st, 2017 Main topics for #lecture include #administrivia, #algorithms, #asymptotic_notation. Welcome and Administrivia Hi, I m Kyle! Welcome to CS 4349. This a class about algorithms.

More information

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601 CSC 261/461 Database Systems Fall 2017 MW 12:30 pm 1:45 pm CSB 601 Agenda Administrative aspects Brief overview of the course Introduction to databases and SQL ADMINISTRATIVE ASPECTS Teaching Staff Instructor:

More information

CS/ECE 374 Fall Homework 1. Due Tuesday, September 6, 2016 at 8pm

CS/ECE 374 Fall Homework 1. Due Tuesday, September 6, 2016 at 8pm CSECE 374 Fall 2016 Homework 1 Due Tuesday, September 6, 2016 at 8pm Starting with this homework, groups of up to three people can submit joint solutions. Each problem should be submitted by exactly one

More information

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci CSCI 4250/6250 Fall 2013 Computer and Network Security Instructor: Prof. Roberto Perdisci perdisci@cs.uga.edu CSCI 4250/6250 What is the purpose of this course? Combined Undergrad/Graduate Intro to Computer

More information

Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018

Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Lab 4: Imperative & Debugging 12:00 PM, Feb 14, 2018 Contents 1 Imperative Programming 1 1.1 Sky High Grades......................................

More information

Physics 2660: Fundamentals of Scientific Computing. Lecture 3 Instructor: Prof. Chris Neu

Physics 2660: Fundamentals of Scientific Computing. Lecture 3 Instructor: Prof. Chris Neu Physics 2660: Fundamentals of Scientific Computing Lecture 3 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Announcements Weekly readings will be assigned and available through the class wiki home

More information

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013 61A LECTURE 1 FUNCTIONS, VALUES Steven Tang and Eric Tzeng June 24, 2013 Welcome to CS61A! The Course Staff - Lecturers Steven Tang Graduated L&S CS from Cal Back for a PhD in Education Eric Tzeng Graduated

More information

CS3: Introduction to Symbolic Programming. Lecture 5:

CS3: Introduction to Symbolic Programming. Lecture 5: CS3: Introduction to Symbolic Programming Lecture 5: Spring 2006 Nate Titterton nate@berkeley.edu Announcements Nate's office hours this week only: - Thursday, 2-4, in 329 Soda - (Usually, they are Wed

More information

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise If you re not already crazy about Scheme (and I m sure you are), then here s something to get

More information

CS 3 Midterm 1 Review

CS 3 Midterm 1 Review CS 3 Midterm 1 Review 1. Quick Evaluations Indicate what each of the following would return if typed into STK. If you think it would error, then please write ERROR. If you think that it would loop forever,

More information

CS1 Lecture 12 Feb. 11, 2019

CS1 Lecture 12 Feb. 11, 2019 CS1 Lecture 12 Feb. 11, 2019 HW4 available tomorrow, due next Wed. Discussion sections this week will be closely tied to one of the homework problems. Exam 1, Thursday evening, 2/21, 6:30-8:00pm HW2 scores

More information

CS 211 Programming I for Engineers

CS 211 Programming I for Engineers CS 211 Programming I for Engineers Instructor: Tom Bartenstein Course Web Page: http://www.cs.binghamton.edu/~tbartens/cs211_fall_2018/ 1 Catalog Description Introduction to computer programming with engineering

More information

Welcome to CS 241 Systems Programming at Illinois

Welcome to CS 241 Systems Programming at Illinois Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright : University of Illinois CS 241 Staff 1 The Team Robin Kravets Office: 3114 SC rhk@illinois.edu TAs Wade Fagen, Farhana Ashraf,

More information

CSE 240 Introduction to Computer Architecture

CSE 240 Introduction to Computer Architecture What s All About?! Introduction to Computer Architecture The new CSE240: Not at 9am!!! New approach (bottom up) New textbook New instructor Well integrated into curriculum Cooler assignments (demo coming

More information

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers)

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers) Review Final exam Final exam will be 12 problems, drop any 2 Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers) 2 hours exam time, so 12 min per problem (midterm 2 had

More information

Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7

Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7 Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7 Ziad Matni Dept. of Computer Science, UCSB Programming in Multiple Files The Magic of Makefiles!

More information

02-711/ Computational Genomics and Molecular Biology Fall 2016

02-711/ Computational Genomics and Molecular Biology Fall 2016 Literature assignment 2 Due: Nov. 3 rd, 2016 at 4:00pm Your name: Article: Phillip E C Compeau, Pavel A. Pevzner, Glenn Tesler. How to apply de Bruijn graphs to genome assembly. Nature Biotechnology 29,

More information

Announcements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment

Announcements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment Announcements Handouts (5) to pick up Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment Please do it now and hand it in as you leave lecture It s ungraded;

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special

More information

Types, Expressions, and States

Types, Expressions, and States 8/27: solved Types, Expressions, and States CS 536: Science of Programming, Fall 2018 A. Why? Expressions represent values in programming languages, relative to a state. Types describe common properties

More information

QUIZ. What is wrong with this code that uses default arguments?

QUIZ. What is wrong with this code that uses default arguments? QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code

More information

9/8/2018. Prerequisites. Grading. People & Contact Information. Textbooks. Course Info. CS430/630 Database Management Systems Fall 2018

9/8/2018. Prerequisites. Grading. People & Contact Information. Textbooks. Course Info. CS430/630 Database Management Systems Fall 2018 CS430/630 Database Management Systems Fall 2018 People & Contact Information Instructor: Prof. Betty O Neil Email: eoneil AT cs DOT umb DOT edu (preferred contact) Web: http://www.cs.umb.edu/~eoneil Office:

More information

What is this class all about?

What is this class all about? EE141-Fall 2012 Digital Integrated Circuits Instructor: Elad Alon TuTh 11-12:30pm 247 Cory 1 What is this class all about? Introduction to digital integrated circuit design engineering Will describe models

More information

Randomized Algorithms: Element Distinctness

Randomized Algorithms: Element Distinctness Randomized Algorithms: Element Distinctness CSE21 Winter 2017, Day 24 (B00), Day 16-17 (A00) March 13, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Element Distinctness: WHAT Given list of positive integers

More information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms 6.046J/18.401J LECTURE 19 Take-home exam Instructions Academic honesty Strategies for doing well Prof. Charles E. Leiserson Take-home quiz The take-home quiz contains 5 problems

More information

Prof. David Yarowsky

Prof. David Yarowsky DATABASES (600315 and 600415) Prof David Yarowsky Department of Computer Science Johns Hopkins University yarowsky@gmailcom August 28, 2014 600315/415 - DATABASES Instructor: Prof David Yarowsky TAs: Hackerman

More information

Introduction to Computation and Problem Solving

Introduction to Computation and Problem Solving Class 1: Introduction Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward Handouts for Today Course syllabus Academic Honesty Guidelines Laptop request form

More information

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1 CSE 332: Data Abstractions Ruth Anderson Spring 2014 Lecture 1 Welcome! We have 10 weeks to learn fundamental data structures and algorithms for organizing and processing information Classic data structures

More information

Midterm II CS164, Spring 2006

Midterm II CS164, Spring 2006 Midterm II CS164, Spring 2006 April 11, 2006 Please read all instructions (including these) carefully. Write your name, login, SID, and circle the section time. There are 10 pages in this exam and 4 questions,

More information

ENGR 102 Engineering Lab I - Computation

ENGR 102 Engineering Lab I - Computation ENGR 102 Engineering Lab I - Computation Learning Objectives by Week 1 ENGR 102 Engineering Lab I Computation 2 Credits 2. Introduction to the design and development of computer applications for engineers;

More information

Programming Languages CSCE

Programming Languages CSCE Programming Languages CSCE 314 500 Class schedule: MW, 04:10pm 05:25pm Room: HECC 100 Homepage: http://courses.cs.tamu.edu/gdr/2013/314/ Prerequisite: CSCE 221 Instructor: Dr. Gabriel Dos Reis (gdr@cse.tamu.edu)

More information

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Announcements TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Get you setup for project/lab work. We ll check it with the first lab. Stars

More information

Programming Project 1: Sequence Alignment

Programming Project 1: Sequence Alignment Programming Project 1: Sequence Alignment CS 181, Fall 2017 Out: Sept. 19 Due: Oct. 3, 11:59 PM 1 Task You must implement the following three alignment algorithms you ve learned in class: 1. Global Alignment

More information

Lesson 13: Exploring Factored Form

Lesson 13: Exploring Factored Form Opening Activity Below is a graph of the equation y = 6(x 3)(x + 2). It is also the graph of: y = 3(2x 6)(x + 2) y = 2(3x 9)(x + 2) y = 2(x 3)(3x + 6) y = 3(x 3)(2x + 4) y = (3x 9)(2x + 4) y = (2x 6)(3x

More information

This exam is worth 30 points, or 18.75% of your total course grade. The exam contains

This exam is worth 30 points, or 18.75% of your total course grade. The exam contains CS 60A Final May 16, 1992 Your name Discussion section number TA's name This exam is worth 30 points, or 18.75% of your total course grade. The exam contains six questions. This booklet contains eleven

More information

Algorithms for Bioinformatics

Algorithms for Bioinformatics These slides are based on previous years slides of Alexandru Tomescu, Leena Salmela and Veli Mäkinen 582670 Algorithms for Bioinformatics Lecture 1: Primer to algorithms and molecular biology 2.9.2014

More information

Open and respond to this poll: PollEv.com/comp110. Calling Methods Mr. Roboto

Open and respond to this poll: PollEv.com/comp110. Calling Methods Mr. Roboto Open and respond to this poll: PollEv.com/comp110 Lecture 1 Calling Methods Mr. Roboto Fall 2016 Special thanks to Dr. Andy van Dam, my grad school advisor, and Brown s CS15 course for this fantastic method

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

CMSC201 Computer Science I for Majors

CMSC201 Computer Science I for Majors CMSC201 Computer Science I for Majors Lecture 13 Functions Prof. Jeremy Dixon Based on concepts from: http://mcsp.wartburg.edu/zelle/python/ppics2/index.html Last Class We Covered Midterm exam Comments?

More information

Genome 373: Genome Assembly. Doug Fowler

Genome 373: Genome Assembly. Doug Fowler Genome 373: Genome Assembly Doug Fowler What are some of the things we ve seen we can do with HTS data? We ve seen that HTS can enable a wide variety of analyses ranging from ID ing variants to genome-

More information

CS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling

CS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling CS61BL Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling About me Name: Edwin Liao Email: edliao@berkeley.edu Office hours: Thursday 3pm - 5pm Friday 11am - 1pm 611 Soda Or by

More information

Question: Total Points: Score:

Question: Total Points: Score: CS 170 Exam 1 Section 000 Spring 2015 Name (print): Instructions: Keep your eyes on your own paper and do your best to prevent anyone else from seeing your work. Do NOT communicate with anyone other than

More information

Data 8 Final Review #1

Data 8 Final Review #1 Data 8 Final Review #1 Topics we ll cover: Visualizations Arrays and Table Manipulations Programming constructs (functions, for loops, conditional statements) Chance, Simulation, Sampling and Distributions

More information

(Refer Slide Time: 06:01)

(Refer Slide Time: 06:01) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 28 Applications of DFS Today we are going to be talking about

More information

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536

More information

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1 Welcome to CS61A! This is a course about programming, which is the art and science of constructing artifacts ( programs ) that perform computations or interact with the physical world. To do this, we have

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

Math 180 Written Homework Solutions Assignment #1 Due Thursday, September 4th at the beginning of your discussion class.

Math 180 Written Homework Solutions Assignment #1 Due Thursday, September 4th at the beginning of your discussion class. Math 180 Written Homework Solutions Assignment #1 Due Thursday, September 4th at the beginning of your discussion class. Directions. You are welcome to work on the following problems with other MATH 180

More information

CPS104 Computer Organization Lecture 1

CPS104 Computer Organization Lecture 1 CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536

More information

Computer Science 210: Data Structures

Computer Science 210: Data Structures Computer Science 210: Data Structures Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures design efficiency implementation

More information

Arrays for Tabulation. Jerry Cain CS 106AJ November 3, 2017 slides courtesy of Eric Roberts

Arrays for Tabulation. Jerry Cain CS 106AJ November 3, 2017 slides courtesy of Eric Roberts Arrays for Tabulation Jerry Cain CS 106AJ November 3, 2017 slides courtesy of Eric Roberts Using Arrays for Tabulation Arrays turn out to be useful when you have a set of data values and need to count

More information

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures Dan Grossman Fall 2014 Hi! I m not Hal J I love this stuff and have taught

More information

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015 San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015 Course and Contact Information Instructor: Ron Gutman Office Location:

More information

Operational Semantics

Operational Semantics Operational Semantics #1 One-Slide Summary Operational semantics is a precise way of specifying how to evaluate a program. A formal semantics tells you what each expression means. Meaning depends on context:

More information

MEM380 Applied Autonomous Robots Fall Depth First Search A* and Dijkstra s Algorithm

MEM380 Applied Autonomous Robots Fall Depth First Search A* and Dijkstra s Algorithm MEM380 Applied Autonomous Robots Fall Breadth First Search Depth First Search A* and Dijkstra s Algorithm Admin Stuff Course Website: http://robotics.mem.drexel.edu/mhsieh/courses/mem380i/ Instructor:

More information

Calculus (Math 1A) Lecture 1

Calculus (Math 1A) Lecture 1 Calculus (Math 1A) Lecture 1 Vivek Shende August 23, 2017 Hello and welcome to class! I am Vivek Shende I will be teaching you this semester. My office hours Starting next week: 1-3 pm on tuesdays; 2-3

More information

ECE 588/688 Advanced Computer Architecture II

ECE 588/688 Advanced Computer Architecture II ECE 588/688 Advanced Computer Architecture II Instructor: Alaa Alameldeen alaa@ece.pdx.edu Winter 2018 Portland State University Copyright by Alaa Alameldeen and Haitham Akkary 2018 1 When and Where? When:

More information

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1

EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 EXPRESSIONS, STATEMENTS, AND FUNCTIONS 1 COMPUTER SCIENCE 61A June 24, 2014 0.1 Warmup What Would Python Do? >>> x = 6 >>> def square(x):... return x * x >>> square(x) >>> max(pow(2, 3), square(-5)) -

More information

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Problem Write and test a Scheme program to compute how many days are spanned by two given days. The program will include a procedure

More information

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013 University of British Columbia CPSC 314 Computer Graphics Jan 2013 Tamara Munzner Intro Outline defining computer graphics course structure course content overview Week 1, Fri Jan 4 http://www.ugrad.cs.ubc.ca/~cs314/vjan2013

More information

Intro. Week 1, Fri Jan 4

Intro. Week 1, Fri Jan 4 University of British Columbia CPSC 314 Computer Graphics Jan 2013 Tamara Munzner Intro Week 1, Fri Jan 4 http://www.ugrad.cs.ubc.ca/~cs314/vjan2013 Outline defining computer graphics course structure

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 1 Wenbing Zhao wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) What is Computer Network? A group of

More information

QUIZ. How could we disable the automatic creation of copyconstructors

QUIZ. How could we disable the automatic creation of copyconstructors QUIZ How could we disable the automatic creation of copyconstructors pre-c++11? What syntax feature did C++11 introduce to make the disabling clearer and more permanent? Give a code example. QUIZ How

More information

SYLLABUS BIOLOGY 1107: Principles of Biology I Fall Semester Section 001: (9:05-9:55AM, Mon, Wed and Fri) Bldg.: Laurel Hall, Room 102

SYLLABUS BIOLOGY 1107: Principles of Biology I Fall Semester Section 001: (9:05-9:55AM, Mon, Wed and Fri) Bldg.: Laurel Hall, Room 102 SYLLABUS BIOLOGY 1107: Principles of Biology I Fall Semester 2016 Section 001: (9:05-9:55AM, Mon, Wed and Fri) Bldg.: Laurel Hall, Room 102 Section 020: (10:10-11:00AM, Mon, Wed and Fri) Bldg.: Laurel

More information

Algorithms (continued)

Algorithms (continued) Algorithms (continued) QUIZ What are the 3 (or 4) fundamental control structures that we use as building blocks for algorithms? Building blocks for algorithms Sequential Actions (input, output, computations)

More information

2. Take a few minutes to look around the site. The goal is to familiarize yourself with a few key components of the NCBI.

2. Take a few minutes to look around the site. The goal is to familiarize yourself with a few key components of the NCBI. 2 Navigating the NCBI Instructions Aim: To become familiar with the resources available at the National Center for Bioinformatics (NCBI) and the search engine Entrez. Instructions: Write the answers to

More information

Contact Information: How do I get started?

Contact Information: How do I get started? eportfolio Lab Hours: Mon: 9:00am 1:00pm Tues: 2:00pm 7:00pm Wed: 12:00pm 5:00pm Thurs.: 2:00pm 7:00pm Fri: 12:00pm 5:00pm Sat: 1:00pm 5:00pm Lab Location: G606 Contact Information: 718-260-5243 itec@citytech.cuny.edu

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques () Lecture 13 February 12, 2018 Mutable State & Abstract Stack Machine Chapters 14 &15 Homework 4 Announcements due on February 20. Out this morning Midterm results

More information

Introduction to Computing using C++ Biomedical applications WELCOME TO CIS 1.5. Introduction to the course. Course structure

Introduction to Computing using C++ Biomedical applications WELCOME TO CIS 1.5. Introduction to the course. Course structure Introduction to Computing using C++ Biomedical applications WELCOME TO CIS 1.5 Topics: Introduction to the course What is a computer programming language? Instructor: Prof Simon Parsons parsons@sci.brooklyn.cuny.edu

More information

Homework 6: Higher-Order Procedures Due: 11:59 PM, Oct 16, 2018

Homework 6: Higher-Order Procedures Due: 11:59 PM, Oct 16, 2018 Integrated Introduction to Computer Science Klein Homework 6: Higher-Order Procedures Due: 11:59 PM, Oct 16, 2018 Contents 1 Fun with map (Practice) 2 2 Unfold (Practice) 3 3 Map2 3 4 Fold 4 5 All You

More information

CS Computer Science I

CS Computer Science I CS 1309-001 Computer Science I Fall 2017, Sul Ross State University Instructor: Dr. Kennard Laviers Office Location: ACR 107 Office Phone: 432-837- 8500 Email: kennard.laviers@sulross.edu Office Hours:

More information

Reasoning and writing about algorithms: some tips

Reasoning and writing about algorithms: some tips Reasoning and writing about algorithms: some tips Theory of Algorithms Winter 2016, U. Chicago Notes by A. Drucker The suggestions below address common issues arising in student homework submissions. Absorbing

More information

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%)

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%) Homework 1 1.264, Fall 2013 Software process Due Wednesday, September 11 1. Automated location data on public transit vehicles (35%) Your company just received a contract to develop an automated vehicle

More information

ASSIGNMENT 4 SOLUTIONS

ASSIGNMENT 4 SOLUTIONS MATH 71 ASSIGNMENT SOLUTIONS 1. If F : X X is a function, define f (x) to be (f f)(x), and inductively define f k (x) (f f k 1 )(x) for each integer k. (So f (x) (f f )(x) f(f(f(x))) for instance.) We

More information

Administrativia. CS107 Introduction to Computer Science. Readings. Algorithms. Expressing algorithms

Administrativia. CS107 Introduction to Computer Science. Readings. Algorithms. Expressing algorithms CS107 Introduction to Computer Science Lecture 2 An Introduction to Algorithms: and Conditionals Administrativia Lab access Searles 128: Mon-Friday 8-5pm (unless class in progress) and 6-10pm Sat, Sun

More information