cet 3350 applied data structures week 2mike/ads/ads_week2.pdf · 2007-01-17 · week 1 17 january...
TRANSCRIPT
![Page 1: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/1.jpg)
Week 117 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures1
CET 3350 Applied Data Structures
Week 2
Dr. Michael VanHilstFlorida Atlantic University
Department of Computer Science and Engineering
![Page 2: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/2.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures2
Chapter 2 Topics• Concepts
• object oriented programming (OOP)• abstract data type (ADT)
• C++ basics• class vs. object / instance• public vs. private (vs. protected)• member (variable, function / method)• constructor & destructor• scope resolution operator (“::”)
![Page 3: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/3.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures3
Test First Development 1. Require 2. Analyze and specify 3. Design4. Write tests5. Code & debug6. Deploy7. Maintain
– what does the customer want?– what will we make?
– how will we make it?– make sure its good
– build it right– put it in service
– fix it and adjust it
![Page 4: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/4.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures4
Class Prototype
class unit_test {private: int num_failed;protected: int get_num_failed();public: unit_test(); ~unit_test(); bool test();}
![Page 5: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/5.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures5
Chapter 2 Topics (2)• C++ more topics
• header files, implementation files • scope resolution operator (“::”)• header macro guard• namespace, using namespace• typedef, static const, define• default arguments• inline member function
![Page 6: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/6.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures6
Class Prototype (2)class unit_test {private: int num_failed;protected: void assert(const bool x, char* msg) { if (!x) { cout << "Failed " << msg << endl; failed++; } }public: unit_test() { num_failed = 0; } bool test();}
![Page 7: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/7.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures7
Chapter 2 Topics (3)• C++ more topics
• Function parameters– Value parameter– Reference parameter– Const reference parameter
• Operator overloading– Binary operator (“==“,“+”)– Input and output (“<<“,”>>”) – istream/ostream
• Friend function
![Page 8: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/8.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures8
Data Structures• Bag• Set• Sequence• Examples:
• Items in a shopping cart• ToDo list• Baseball/bowling box scores• Books in a library
![Page 9: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/9.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures9
Chapter 3 Topics• Bag
• insert• erase_one• erase• size• count• +• +=
• Class invariant
![Page 10: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/10.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures10
Start Visual Studio
![Page 11: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/11.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures11
Select File->New
![Page 12: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/12.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures12
Set Location, name, type
![Page 13: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/13.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures13
Navigate to Location!!!
![Page 14: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/14.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures14
Set Location, name, type
![Page 15: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/15.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures15
“Hello World” App, then Finish
![Page 16: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/16.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures16
“File View” in Right Window
![Page 17: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/17.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures17
Expand files in “File View”
![Page 18: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/18.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures18
File->New again!!
![Page 19: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/19.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures19
“Header File”, enter name
![Page 20: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/20.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures20
Start Typing!!!
![Page 21: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/21.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures21
Initial Run
![Page 22: CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350](https://reader030.vdocuments.us/reader030/viewer/2022040523/5e867c4c62383b0cc93feccb/html5/thumbnails/22.jpg)
Week 217 January
Dr. Michael VanHilstFlorida Atlantic University
Applied Data Structures22
Assignment 1• In class
• Exercise 1: black box test• Exercise 8: keyed bag (name/value pairs)
– Key must be unique, but not value– Phone book or birthday list– (hash table??)
• Homework Assignment (next week)• Exercise 2: implement “–” and “-=“• Exercise 3: sequence (not just bag)• Exercise 5: set (not just a bag, no duplicates)