+ All Categories
Home > Documents > CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January...

CET 3350 Applied Data Structures Week 2mike/ADS/ads_week2.pdf · 2007-01-17 · Week 1 17 January...

Date post: 25-Mar-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
22
Week 1 17 January Dr. Michael VanHilst Florida Atlantic University Applied Data Structures 1 CET 3350 Applied Data Structures Week 2 Dr. Michael VanHilst Florida Atlantic University Department of Computer Science and Engineering
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)


Recommended