SlideShare a Scribd company logo
1 of 15
Download to read offline
Computer Science 226
         Algorithms and Data Structures
                                                  Fall 2007


                                                              Instructors:
                                                                 Bob Sedgewick
                                                                 Kevin Wayne
Copyright © 2007 by Robert Sedgewick and Kevin Wayne.
Course Overview

       outline
       why study algorithms?
       usual suspects
       coursework
       resources (web)
       resources (books)




                               2
COS 226 course overview

    What is COS 226?
    •Intermediate-level survey course.
    •Programming and problem solving with applications.
    •Algorithm: method for solving a problem.
    •Data structure: method to store information.


               Topic                  Data Structures and Algorithms

             data types          stack, queue, list, union-find, priority queue

               sorting           quicksort, mergesort, heapsort, radix sorts

              searching            hash table, BST, red-black tree, B-tree

               graphs                 BFS, DFS, Prim, Kruskal, Dijkstra

               strings             KMP, Rabin-Karp, TST, Huffman, LZW

              geometry             Graham scan, k-d tree, Voronoi diagram




                                                                                  3
Why study algorithms?

    Their impact is broad and far-reaching

    Internet. Web search, packet routing, distributed file sharing.

    Biology. Human genome project, protein folding.

    Computers. Circuit layout, file system, compilers.

    Computer graphics. Movies, video games, virtual reality.

    Security. Cell phones, e-commerce, voting machines.

    Multimedia. CD player, DVD, MP3, JPG, DivX, HDTV.

    Transportation. Airline crew scheduling, map routing.

    Physics. N-body simulation, particle collision simulation.

    …


                                                                      4
Why study algorithms?

    Old roots, new opportunities
                                                   300 BC



    Study of algorithms dates at least to Euclid



    Some important algorithms were discovered
    by undergraduates!




                                                    1920s

                                                   1940s
                                                   1950s
                                                   1960s
                                                   1970s
                                                   1980s
                                                   1990s
                                                   2000s


                                                            5
Why study algorithms?

    To be able solve problems that could not otherwise be addressed

    Example: Network connectivity

    [stay tuned]




                                                                      6
Why study algorithms?

    For intellectual stimulation




                                   7
Why study algorithms?

     They may unlock the secrets of life and of the universe.



     Computational models are replacing mathematical models
     in scientific enquiry

                                              for (double t = 0.0; true; t = t + dt)
       E = mc 2                                  for (int i = 0; i < N; i++)
                                   Gm1 m 2
                             F =                 {
       F = ma                       r2              bodies[i].resetForce();
                                                    for (int j = 0; j < N; j++)
                                                       if (i != j)
          h2   2                                          bodies[i].addForce(bodies[j]);
                   + V (r)    (r) = E   (r)      }
          2m

               20th century science                        21st century science
                 (formula based)                            (algorithm based)




                                                                                           8
Why study algorithms?

     For fun and profit




                          9
Why study algorithms?




     • Their impact is broad and far-reaching
     • Old roots, new opportunities
     • To be able to solve problems that could not otherwise be addressed
     • For intellectual stimulation
     • They may unlock the secrets of life and of the universe
     • For fun and profit




                                                                            10
The Usual Suspects

    Lectures: Bob Sedgewick
      •TTh 11-12:20, Bowen 222
      •Office hours T 3-5 at Cafe Viv in Frist
    Course management (everything else): Kevin Wayne

    Precepts: Kevin Wayne
    • Thursdays.
        1: 12:30 Friend 110
        2: 3:30 Friend 109
    • Discuss programming assignments, exercises, lecture material.
    • First precept meets Thursday 9/20
    • Kevin’s office hours TBA

    Need a precept time? Need to change precepts?
    • email Donna O’Leary (CS ugrad coordinator)
      doleary@cs.princeton.edu

    Check course web page for up-to-date info
                                                                      11
Coursework and Grading

    7-8 programming assignments. 45%
    • Due 11:55pm, starting Monday 9/24.
    • Available via course website.

    Weekly written exercises. 15%
    •Due at beginning of Wednesday lecture, starting 9/24.
    •Available via course website.

    Exams.
                                                                   Final
    • Closed-book with cheatsheet.
    • Midterm. 15%                                  Programs
    • Final.    25%
                                                                         HW
    Staff discretion. Adjust borderline cases.
    • Participation in lecture and precepts                    Midterm
    • Everyone needs to meet us both at office hours!

    Challenge for the bored. Determine importance of 45-15-15-25 weights
                                                                              12
Resources (web)

    Course content.
      http://www.princeton.edu/~cos226

     • syllabus
     • exercises
     • lecture slides
     • programming assignments (description, code, test data, checklists)
    Course administration.
     https://moodle.cs.princeton.edu/course/view.php?id=24

     • programming assignment submission.
     • grades.
    Booksites.
    http://www.cs.princeton.edu/IntroCS
    http://www.cs.princeton.edu/IntroAlgsDS

     • brief summary of content.
     • code.
     • links to web content.
                                                                            13
Resources (books)

    Algorithms in Java, 3rd edition
     • Parts 1-4. [sorting, searching]
     • Part 5. [graph algorithms]



    Introduction to Programming in Java
     • basic programming model
     • elementary AofA and data structures



    Algorithms in Pascal(!)/C/C++, 2nd edition
     • strings
     • elementary geometric algorithms



    Algorithms, 4th edition
      (in preparation)

                                                 14
Union-Find




             15

More Related Content

Similar to Ds & ada

COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.docbutest
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.docbutest
 
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basicsnpinto
 
MDS_1_PacBear_2DWorld.pptx
MDS_1_PacBear_2DWorld.pptxMDS_1_PacBear_2DWorld.pptx
MDS_1_PacBear_2DWorld.pptxIvovanderMarel1
 
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming,  Patrick ProsserTeaching Constraint Programming,  Patrick Prosser
Teaching Constraint Programming, Patrick ProsserPierre Schaus
 
What Metrics Matter?
What Metrics Matter? What Metrics Matter?
What Metrics Matter? CS, NcState
 
Probing the Efficacy of the Algebra Project: A Summary of Findings
Probing the Efficacy of the Algebra Project: A Summary of FindingsProbing the Efficacy of the Algebra Project: A Summary of Findings
Probing the Efficacy of the Algebra Project: A Summary of FindingsEDD SFSU
 
李俊良/Feature Engineering in Machine Learning
李俊良/Feature Engineering in Machine Learning李俊良/Feature Engineering in Machine Learning
李俊良/Feature Engineering in Machine Learning台灣資料科學年會
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersRoelof Pieters
 
A look inside pandas design and development
A look inside pandas design and developmentA look inside pandas design and development
A look inside pandas design and developmentWes McKinney
 
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Anubhav Jain
 
Python for Chemistry
Python for ChemistryPython for Chemistry
Python for Chemistryguest5929fa7
 
Python for Chemistry
Python for ChemistryPython for Chemistry
Python for Chemistrybaoilleach
 

Similar to Ds & ada (20)

Lecture 1 (bce-7)
Lecture   1 (bce-7)Lecture   1 (bce-7)
Lecture 1 (bce-7)
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.ppt
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
 
COM623M1.doc.doc
COM623M1.doc.docCOM623M1.doc.doc
COM623M1.doc.doc
 
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
 
Lec 01 introduction
Lec 01   introductionLec 01   introduction
Lec 01 introduction
 
MDS_1_PacBear_2DWorld.pptx
MDS_1_PacBear_2DWorld.pptxMDS_1_PacBear_2DWorld.pptx
MDS_1_PacBear_2DWorld.pptx
 
Icml2017 overview
Icml2017 overviewIcml2017 overview
Icml2017 overview
 
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming,  Patrick ProsserTeaching Constraint Programming,  Patrick Prosser
Teaching Constraint Programming, Patrick Prosser
 
What Metrics Matter?
What Metrics Matter? What Metrics Matter?
What Metrics Matter?
 
Probing the Efficacy of the Algebra Project: A Summary of Findings
Probing the Efficacy of the Algebra Project: A Summary of FindingsProbing the Efficacy of the Algebra Project: A Summary of Findings
Probing the Efficacy of the Algebra Project: A Summary of Findings
 
李俊良/Feature Engineering in Machine Learning
李俊良/Feature Engineering in Machine Learning李俊良/Feature Engineering in Machine Learning
李俊良/Feature Engineering in Machine Learning
 
Deep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ersDeep Learning, an interactive introduction for NLP-ers
Deep Learning, an interactive introduction for NLP-ers
 
A look inside pandas design and development
A look inside pandas design and developmentA look inside pandas design and development
A look inside pandas design and development
 
Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...Software tools for calculating materials properties in high-throughput (pymat...
Software tools for calculating materials properties in high-throughput (pymat...
 
Python for Chemistry
Python for ChemistryPython for Chemistry
Python for Chemistry
 
Python for Chemistry
Python for ChemistryPython for Chemistry
Python for Chemistry
 
L0.ppt
L0.pptL0.ppt
L0.ppt
 
introduction.pdf
introduction.pdfintroduction.pdf
introduction.pdf
 
Matlab
Matlab Matlab
Matlab
 

Recently uploaded

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 

Recently uploaded (20)

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 

Ds & ada

  • 1. Computer Science 226 Algorithms and Data Structures Fall 2007 Instructors: Bob Sedgewick Kevin Wayne Copyright © 2007 by Robert Sedgewick and Kevin Wayne.
  • 2. Course Overview outline why study algorithms? usual suspects coursework resources (web) resources (books) 2
  • 3. COS 226 course overview What is COS 226? •Intermediate-level survey course. •Programming and problem solving with applications. •Algorithm: method for solving a problem. •Data structure: method to store information. Topic Data Structures and Algorithms data types stack, queue, list, union-find, priority queue sorting quicksort, mergesort, heapsort, radix sorts searching hash table, BST, red-black tree, B-tree graphs BFS, DFS, Prim, Kruskal, Dijkstra strings KMP, Rabin-Karp, TST, Huffman, LZW geometry Graham scan, k-d tree, Voronoi diagram 3
  • 4. Why study algorithms? Their impact is broad and far-reaching Internet. Web search, packet routing, distributed file sharing. Biology. Human genome project, protein folding. Computers. Circuit layout, file system, compilers. Computer graphics. Movies, video games, virtual reality. Security. Cell phones, e-commerce, voting machines. Multimedia. CD player, DVD, MP3, JPG, DivX, HDTV. Transportation. Airline crew scheduling, map routing. Physics. N-body simulation, particle collision simulation. … 4
  • 5. Why study algorithms? Old roots, new opportunities 300 BC Study of algorithms dates at least to Euclid Some important algorithms were discovered by undergraduates! 1920s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 5
  • 6. Why study algorithms? To be able solve problems that could not otherwise be addressed Example: Network connectivity [stay tuned] 6
  • 7. Why study algorithms? For intellectual stimulation 7
  • 8. Why study algorithms? They may unlock the secrets of life and of the universe. Computational models are replacing mathematical models in scientific enquiry for (double t = 0.0; true; t = t + dt) E = mc 2 for (int i = 0; i < N; i++) Gm1 m 2 F = { F = ma r2 bodies[i].resetForce(); for (int j = 0; j < N; j++) if (i != j) h2 2 bodies[i].addForce(bodies[j]); + V (r) (r) = E (r) } 2m 20th century science 21st century science (formula based) (algorithm based) 8
  • 9. Why study algorithms? For fun and profit 9
  • 10. Why study algorithms? • Their impact is broad and far-reaching • Old roots, new opportunities • To be able to solve problems that could not otherwise be addressed • For intellectual stimulation • They may unlock the secrets of life and of the universe • For fun and profit 10
  • 11. The Usual Suspects Lectures: Bob Sedgewick •TTh 11-12:20, Bowen 222 •Office hours T 3-5 at Cafe Viv in Frist Course management (everything else): Kevin Wayne Precepts: Kevin Wayne • Thursdays. 1: 12:30 Friend 110 2: 3:30 Friend 109 • Discuss programming assignments, exercises, lecture material. • First precept meets Thursday 9/20 • Kevin’s office hours TBA Need a precept time? Need to change precepts? • email Donna O’Leary (CS ugrad coordinator) doleary@cs.princeton.edu Check course web page for up-to-date info 11
  • 12. Coursework and Grading 7-8 programming assignments. 45% • Due 11:55pm, starting Monday 9/24. • Available via course website. Weekly written exercises. 15% •Due at beginning of Wednesday lecture, starting 9/24. •Available via course website. Exams. Final • Closed-book with cheatsheet. • Midterm. 15% Programs • Final. 25% HW Staff discretion. Adjust borderline cases. • Participation in lecture and precepts Midterm • Everyone needs to meet us both at office hours! Challenge for the bored. Determine importance of 45-15-15-25 weights 12
  • 13. Resources (web) Course content. http://www.princeton.edu/~cos226 • syllabus • exercises • lecture slides • programming assignments (description, code, test data, checklists) Course administration. https://moodle.cs.princeton.edu/course/view.php?id=24 • programming assignment submission. • grades. Booksites. http://www.cs.princeton.edu/IntroCS http://www.cs.princeton.edu/IntroAlgsDS • brief summary of content. • code. • links to web content. 13
  • 14. Resources (books) Algorithms in Java, 3rd edition • Parts 1-4. [sorting, searching] • Part 5. [graph algorithms] Introduction to Programming in Java • basic programming model • elementary AofA and data structures Algorithms in Pascal(!)/C/C++, 2nd edition • strings • elementary geometric algorithms Algorithms, 4th edition (in preparation) 14