SlideShare a Scribd company logo
1 of 40
CS2006 - Data Structures I
Chapter 2
Principles of Programming
&
Software Engineering
2
Topics
 Software Life Cycle
 Abstraction – Abstract Data Type
 OO Design
 Encapsulation
 Inheritance
 Polymorphism
3
Introduction
 How do you write a Java program in COSC
1046/1047?
 Old fashion way
 Write code
 Compile
 Check syntax
 Run
 Check logic
 How about a large
project with a team?
4
Introduction
 A better way
 Systematic way (Structured approach)
 Specify problem
 Analyze
 Design
 Implement
 Test
 Maintain
5
Introduction
 SW Engineering:
 Computer science branch that provides
techniques for development of computer
programs
 Systematic approach to analyze, design,
implement, and maintain software
 Uses CASE tools (Computer Aided Software
Engineering)
6
The Software Life Cycle
1. Specification
2. Design
3. Risk Analysis
4. Verification
5. Coding
6. Testing
7. Refining
8. Production
9. Maintainence
7
1. Specification & Analysis
 Specification
 A contract between customers and
developers
 Not how, but about what
 May involve construction of a prototype
program to get more details from users.
8
1. Specification & Analysis
 Example:
 “design and implement a software to store a
library’s catalogue of books”
 Input (partial):
 Librians enter new books as they arrive
 Library users enter search
keys to search through our list
9
1. Specification & Analysis
 Process:
 Add new book
 Search for books
 Output:
 Show all the info about a book
 Requirements
 Are there any time/space/performance constraints
10
2. Design
 Given:
 Clear & detailed specification of all aspects of
the problem
 Output:
 Design for a solution to the problem
(algorithm) - UML diagrams (about How)
 Idea:
 Use modular design
 Divide & conquer
 Divide the problem into smaller manageable parts.
11
2. Design
12
3. Risk Analysis
 Risks are primarily business related but
can be personal as well.
 Not an important issue for this course.
13
4. Verification
 Determining the degree to which a software
product fulfills its specification
 Formal, theoretical methods for proving
algorithm correctness
14
5. Implementation (Coding)
 Coding
 Translating the algorithm into a particular
programming language & removing syntax
errors
 Should not start unless previous stages are
well defined
15
5. Implementation (Coding)
 Bottom-up implementation:
 First implement submodules, then modules
 Top-down implementation:
 Implement a module before implementing its
submodules A
S3
S2
S1
16
6. Testing
 Careful design of test data is important
 Valid (In-range) data
 Invalid (out-of-range) data
 Random values of data
 Test several times on different
circumstances
 Any modification in the program needs re-
testing
17
7. Refining the Solution
 Usually involves increasing the
"robustness" of a solution.
 Example: assume that the input will be
integers between 0 and 1000.
 During this step code would be inserted to actually
test the input values.
18
8. Production
 Distribute the SW product to its intended
users
 Install the SW
 Use the SW
19
9. Maintenance
 Correct errors not discovered during
testing
 Add more features
 Enhance existing features
 Modify to suit the user better
20
Abstraction & Information Hiding
 Example: Cars brakes
Client
box
Car
Black box
Push
the brakes
My interior design is
using
Cylinder brakes
or
Drum brakes
Brake pedal pushed
Car stop
21
Abstraction
 Abstraction separates the purpose of a
module from its implementation.
 Example: Sorting
22
Abstraction
 Abstraction separates the purpose of a
module from its implementation.
 Example: Sorting
Client
box
Sort
Black box
Sort this data
please,
I don’t care
how you do it
I can sort data into
ascending order without
you knowing how
Unsorted data
Sorted data
23
Procedural Abstraction
 Procedural Abstraction is the process of
separating the purpose of a method from
its implementation.
 Once written the method can be used without
any knowledge of how it is implemented - only
need to know the parameters.
 Example: ??
24
Abstract Data Types
 ADT - a collection of data along with a set of
operations that can be performed on that
data.
 No details about how the data is stored or how
the operations on the data are implemented.
 An ADT is a general description of the design of
a module with no details.
25
Abstract Data Types
 Examples
 Date class
 String class
26
Abstract Data Types
 Data Structure - the implementation of an
ADT in a programming language.
 The details of data storage and how
operations are performed are crucial parts of a
data structure.
27
ADT List
 Any List in general will allow the following
operations:
 Create an empty list
 Destroy a list
 Determine whether a list is empty
 Determine the number of items in a list
 Insert an item at a given position in the list
 What else?
28
Object-Oriented Design
 Three elements to OOD:
 Encapsulation - combining data and
operations within one object.
 Inheritance - objects can inherit data and/or
methods from other objects.
 Polymorphism - objects can determine
operations at execution time.
 Every object knows its "true" type regardless of type
casting
29
Object-Oriented Design
 Produce a collection of objects that have
behaviours
 How to do
 Identifying the objects in the problem
 UML
 Contents of Software Engineering (cosc 3506)
30
Object-Oriented Design
 Consider the nouns and verbs in the
problem domain
Create a ATM machine which allow user to retrieve,
deposit, transfer and check balance of their accounts
ATM
Account: account
Open ()
Close()
Account
Type: String
Amount: double
transfer (int )
checkBalance()
retrieve
deposit ()
31
Review
 The first phase of the life cycle of software
is the ______ phase.
 design
 risk analysis
 specification
 coding
32
Review
 The syntax errors of a program are
removed during the ______ phase of the
program’s life cycle.
 verification
 coding
 testing
 refining
 maintenance
33
Review
 Which of the following is an example of a
logical error?
 an algorithm that calculates the monthly
payment of a loan displays incorrect results
 an array subscript in a program goes out of
range
 a program expects a nonnegative number but
reads –23
 the beginning of a while loop is written as
“whille” instead of “while”
34
Review
 During the design phase of the software
life cycle, the program is divided into
______.
 invariants
 loops
 Modules
 prototypes
35
Review
 CASE tools refers
 Use Case for Applications
 Computer Aided Software Engineering
 Common Agent Software Engineering
 Contact Assistant Software Engineering
36
Review
 A prototype program is created during the
______ phase of the software life cycle.
 design
 specification
 Coding
 testing
37
Review
 Which of the following is not a goal of
Software Engineering:
(a) Make Complex Software/Systems Manageable.
(b) Create code implementations which are as big as
possible.
(c) Coordinate large number of developers.
(d) Handle complex software systems.
38
Review
 A(n) ____ is a collection of data and a set
of operations on the data.
 method
 exception
 abstract data type
 data structure.
39
Review
 With ______, objects can determine
appropriate operations at execution time.
 encapsulation
 inheritance
 Polymorphism
 information hiding.
40
Review
 Object-oriented design identifies objects
by focusing on the ______ in the problem
statement.
 nouns
 verbs
 Adjectives
 adverbs

More Related Content

Similar to CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg

Mi0033 software engineering...
Mi0033  software engineering...Mi0033  software engineering...
Mi0033 software engineering...
smumbahelp
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
sweta836730
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
akd3143
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 

Similar to CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg (20)

Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qa
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptx
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPURLine Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
 
Mi0033 software engineering...
Mi0033  software engineering...Mi0033  software engineering...
Mi0033 software engineering...
 
se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.ppt
 
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTESSOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
SOFTWARE ENGINEERING & ARCHITECTURE - SHORT NOTES
 
chapter 2 (1).ppt
chapter 2 (1).pptchapter 2 (1).ppt
chapter 2 (1).ppt
 
Waterfall models.ppt
Waterfall models.pptWaterfall models.ppt
Waterfall models.ppt
 
Model.ppt
Model.pptModel.ppt
Model.ppt
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
 
Chapter 1,2,3 Module I -Foundations for SD.pptx
Chapter 1,2,3 Module I -Foundations for SD.pptxChapter 1,2,3 Module I -Foundations for SD.pptx
Chapter 1,2,3 Module I -Foundations for SD.pptx
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
 
Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 

Recently uploaded

The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
17thcssbs2
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 

Recently uploaded (20)

Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
Gyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxGyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptx
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptxslides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
 
Open Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPointOpen Educational Resources Primer PowerPoint
Open Educational Resources Primer PowerPoint
 
The Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational ResourcesThe Benefits and Challenges of Open Educational Resources
The Benefits and Challenges of Open Educational Resources
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Mbaye_Astou.Education Civica_Human Rights.pptx
Mbaye_Astou.Education Civica_Human Rights.pptxMbaye_Astou.Education Civica_Human Rights.pptx
Mbaye_Astou.Education Civica_Human Rights.pptx
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTelling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 

CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg

  • 1. CS2006 - Data Structures I Chapter 2 Principles of Programming & Software Engineering
  • 2. 2 Topics  Software Life Cycle  Abstraction – Abstract Data Type  OO Design  Encapsulation  Inheritance  Polymorphism
  • 3. 3 Introduction  How do you write a Java program in COSC 1046/1047?  Old fashion way  Write code  Compile  Check syntax  Run  Check logic  How about a large project with a team?
  • 4. 4 Introduction  A better way  Systematic way (Structured approach)  Specify problem  Analyze  Design  Implement  Test  Maintain
  • 5. 5 Introduction  SW Engineering:  Computer science branch that provides techniques for development of computer programs  Systematic approach to analyze, design, implement, and maintain software  Uses CASE tools (Computer Aided Software Engineering)
  • 6. 6 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing 7. Refining 8. Production 9. Maintainence
  • 7. 7 1. Specification & Analysis  Specification  A contract between customers and developers  Not how, but about what  May involve construction of a prototype program to get more details from users.
  • 8. 8 1. Specification & Analysis  Example:  “design and implement a software to store a library’s catalogue of books”  Input (partial):  Librians enter new books as they arrive  Library users enter search keys to search through our list
  • 9. 9 1. Specification & Analysis  Process:  Add new book  Search for books  Output:  Show all the info about a book  Requirements  Are there any time/space/performance constraints
  • 10. 10 2. Design  Given:  Clear & detailed specification of all aspects of the problem  Output:  Design for a solution to the problem (algorithm) - UML diagrams (about How)  Idea:  Use modular design  Divide & conquer  Divide the problem into smaller manageable parts.
  • 12. 12 3. Risk Analysis  Risks are primarily business related but can be personal as well.  Not an important issue for this course.
  • 13. 13 4. Verification  Determining the degree to which a software product fulfills its specification  Formal, theoretical methods for proving algorithm correctness
  • 14. 14 5. Implementation (Coding)  Coding  Translating the algorithm into a particular programming language & removing syntax errors  Should not start unless previous stages are well defined
  • 15. 15 5. Implementation (Coding)  Bottom-up implementation:  First implement submodules, then modules  Top-down implementation:  Implement a module before implementing its submodules A S3 S2 S1
  • 16. 16 6. Testing  Careful design of test data is important  Valid (In-range) data  Invalid (out-of-range) data  Random values of data  Test several times on different circumstances  Any modification in the program needs re- testing
  • 17. 17 7. Refining the Solution  Usually involves increasing the "robustness" of a solution.  Example: assume that the input will be integers between 0 and 1000.  During this step code would be inserted to actually test the input values.
  • 18. 18 8. Production  Distribute the SW product to its intended users  Install the SW  Use the SW
  • 19. 19 9. Maintenance  Correct errors not discovered during testing  Add more features  Enhance existing features  Modify to suit the user better
  • 20. 20 Abstraction & Information Hiding  Example: Cars brakes Client box Car Black box Push the brakes My interior design is using Cylinder brakes or Drum brakes Brake pedal pushed Car stop
  • 21. 21 Abstraction  Abstraction separates the purpose of a module from its implementation.  Example: Sorting
  • 22. 22 Abstraction  Abstraction separates the purpose of a module from its implementation.  Example: Sorting Client box Sort Black box Sort this data please, I don’t care how you do it I can sort data into ascending order without you knowing how Unsorted data Sorted data
  • 23. 23 Procedural Abstraction  Procedural Abstraction is the process of separating the purpose of a method from its implementation.  Once written the method can be used without any knowledge of how it is implemented - only need to know the parameters.  Example: ??
  • 24. 24 Abstract Data Types  ADT - a collection of data along with a set of operations that can be performed on that data.  No details about how the data is stored or how the operations on the data are implemented.  An ADT is a general description of the design of a module with no details.
  • 25. 25 Abstract Data Types  Examples  Date class  String class
  • 26. 26 Abstract Data Types  Data Structure - the implementation of an ADT in a programming language.  The details of data storage and how operations are performed are crucial parts of a data structure.
  • 27. 27 ADT List  Any List in general will allow the following operations:  Create an empty list  Destroy a list  Determine whether a list is empty  Determine the number of items in a list  Insert an item at a given position in the list  What else?
  • 28. 28 Object-Oriented Design  Three elements to OOD:  Encapsulation - combining data and operations within one object.  Inheritance - objects can inherit data and/or methods from other objects.  Polymorphism - objects can determine operations at execution time.  Every object knows its "true" type regardless of type casting
  • 29. 29 Object-Oriented Design  Produce a collection of objects that have behaviours  How to do  Identifying the objects in the problem  UML  Contents of Software Engineering (cosc 3506)
  • 30. 30 Object-Oriented Design  Consider the nouns and verbs in the problem domain Create a ATM machine which allow user to retrieve, deposit, transfer and check balance of their accounts ATM Account: account Open () Close() Account Type: String Amount: double transfer (int ) checkBalance() retrieve deposit ()
  • 31. 31 Review  The first phase of the life cycle of software is the ______ phase.  design  risk analysis  specification  coding
  • 32. 32 Review  The syntax errors of a program are removed during the ______ phase of the program’s life cycle.  verification  coding  testing  refining  maintenance
  • 33. 33 Review  Which of the following is an example of a logical error?  an algorithm that calculates the monthly payment of a loan displays incorrect results  an array subscript in a program goes out of range  a program expects a nonnegative number but reads –23  the beginning of a while loop is written as “whille” instead of “while”
  • 34. 34 Review  During the design phase of the software life cycle, the program is divided into ______.  invariants  loops  Modules  prototypes
  • 35. 35 Review  CASE tools refers  Use Case for Applications  Computer Aided Software Engineering  Common Agent Software Engineering  Contact Assistant Software Engineering
  • 36. 36 Review  A prototype program is created during the ______ phase of the software life cycle.  design  specification  Coding  testing
  • 37. 37 Review  Which of the following is not a goal of Software Engineering: (a) Make Complex Software/Systems Manageable. (b) Create code implementations which are as big as possible. (c) Coordinate large number of developers. (d) Handle complex software systems.
  • 38. 38 Review  A(n) ____ is a collection of data and a set of operations on the data.  method  exception  abstract data type  data structure.
  • 39. 39 Review  With ______, objects can determine appropriate operations at execution time.  encapsulation  inheritance  Polymorphism  information hiding.
  • 40. 40 Review  Object-oriented design identifies objects by focusing on the ______ in the problem statement.  nouns  verbs  Adjectives  adverbs

Editor's Notes

  1. May 8, 2024
  2. May 8, 2024
  3. May 8, 2024
  4. May 8, 2024
  5. May 8, 2024
  6. May 8, 2024
  7. May 8, 2024
  8. May 8, 2024
  9. May 8, 2024
  10. May 8, 2024
  11. May 8, 2024
  12. May 8, 2024
  13. May 8, 2024
  14. May 8, 2024
  15. May 8, 2024
  16. May 8, 2024
  17. May 8, 2024
  18. May 8, 2024
  19. May 8, 2024
  20. May 8, 2024
  21. May 8, 2024
  22. May 8, 2024
  23. May 8, 2024
  24. May 8, 2024
  25. May 8, 2024
  26. May 8, 2024
  27. May 8, 2024
  28. May 8, 2024
  29. May 8, 2024
  30. May 8, 2024