CS1132_Fall_2011_Lecture2_BB

CS1132_Fall_2011_Lecture2_BB - Lecture 2 Review Using...

Info iconThis preview shows pages 1–16. Sign up to view the full content.

View Full Document Right Arrow Icon
Lecture 2 Review Using Big(O) Software Principles in C Pointers Memory allocation User defined datatype - Structures Data Structure (Chapter 2) Linked List 1 CS 103
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Arrays or Linked List ? Application dependent Big(O) used as a tool in analyzing the time and space complexity of solutions 2
Background image of page 2
3 Linked list Every node has a data and a link to the next node in the list. The start ( head) of the list is maintained in a separate variable. End of the list is indicated by NULL ( sentinel). Graphically: data data data data Head NULL CS 103
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Array index 0 1 2 ….. 99 CS 103 4 1211 34 6 28 7698
Background image of page 4
Big O(n) useful tool in analyzing applications 5 linked-list array ======================================= size dynamic fixed indexing (i) O(n) O(1) insert/delete at the beginning O(1) O(n) insert/delete at the end O(1) O(1) insert/delete in the middle O(n) O(n)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
CS 103 6 Software Principles in C
Background image of page 6
Software Principles are: Principles that guide software development using data structures and algorithms . . CS 103 7
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Principles in C Software Lifecycle Software Development ( will be used interchangeably) CS 103 8
Background image of page 8
Software Principles in C Main steps of the software lifecycle : 1. requirement analysis – precise def. of the system leading to problem specification 2. design – the problem solution and its analysis with detailed plan for building the system 3. coding – implementation of the solution by translating design into working computer programs CS 103 9
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Principles in C Main steps of the software lifecycle (contd.): 4. testing – debugging and trial runs of individual components & integrated system 5. verification – develop math. proofs or other evidence to confirm results 6. documentation – written explanation 7. maintenance – fixing problems & 10
Background image of page 10
Software Principles in C We can improve the traditional software lifecycle . For example by: Building prototype of the system or subsystem to reduce risk CS 103 11
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Principles in C Software principles has two main levels: 1. Programming in the small – concepts for small programs ( few pages of code) 2. Programming in the large – concepts for organizing large system (>10 5 lines) CS 103 12 Both levels use structured program to control flow of program execution
Background image of page 12
Software Principles in C Programming in the small – Requires -- ingenuity & creativity -- program structuring -- top-down programming by stepwise refinement CS 103 13
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Principles in C Programming in the large - Requires -- organizing large-scale human effort -- planning for long-lived software (>25 years) -- planning the entire lifecycle of a software system CS 103 14
Background image of page 14
Software Principles in C Example of a complex problem when Programming in the large – How many people should be working on a project? (it can be very tricky)
Background image of page 15

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 16
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/14/2011 for the course CSCI 1132 taught by Professor Haya during the Fall '11 term at GWU.

Page1 / 69

CS1132_Fall_2011_Lecture2_BB - Lecture 2 Review Using...

This preview shows document pages 1 - 16. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online