summary - Course Summary ENGINEER 1D04 Dr. William M....

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

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

Unformatted text preview: Course Summary ENGINEER 1D04 Dr. William M. Farmer and Dr. Spencer Smith McMaster University, Fall 2010 Revised: 14 December 2010 1 Topics 1. Computing. a. What computing is. b. Main branches of computing. c. Why engineers need to study computing. 2. Mathematical concepts. a. Number systems. b. Sequences (finite and infinite). c. Σ and Π notation. d. Functions. e. Boolean operators and truth tables. 3. Programming languages. a. Values and types. b. Expressions. c. Variables and constants. d. Statements. e. Representation of number systems. f. Characters and strings. g. Function definition and application. h. Name spaces and scope. i. Modes of execution. j. Programming paradigms (especially imperative, functional, and object-oriented). 4. Values, types, and expressions in Python. a. Numeric types (especially int , long , and float ). 1 b. Sequence types (especially str and list ). c. Objects. d. Functions. e. Booleans and boolean operators. f. Exceptions. g. Type conversion. 5. Statements in Python. a. Assignment statements. b. Conditional statements. c. Definite loops. d. Indefinite loops. e. Function definitions. f. Exception handling. g. Class definitions. h. Method definitions. i. Module import statements. 6. Input/Output. a. I/O devices. b. Files. c. Standard input and output. d. File processing in Python. e. Python input and print statements. 7. Algorithms. a. What an algorithm is. b. Algorithm design and analysis. c. Search algorithms. d. Sorting algorithms. e. Recursion. 8. Software Development. a. Software development phases. b. Software development models. c. What software engineering is. d. Software engineering principles (especially the principle of least privilege). e. Software design techniques (especially pseudocode and flow charts). f. Software testing. 2 2 Themes Theme 1 : Every engineer needs to have a sophisticated understanding of computing. Theme 2 : There are various ways that common mathematical objects and other data are represented in programming languages. Theme 3 : Modularity is a powerful concept that is extensively em- ployed in computing. Theme 4 : Software development should be a rational process. 3 Historical Figures 1. Euclid (c. 300 BCE). 2. Gottfried Leibniz (1646–1716). 3. George Boole (1815-1864). 4. Alan Turing (1912–1954). 5. Donald Knuth (1938– ). 6. David Parnas (1941– ) 4 Case Studies 1. Therac-25. 2. Ariane 5. 5 Applications 1. Numerical evaluation. 2. String and list processing. 3. File processing. 4. Graphics. 5. Iterated addition-like operations (e.g., Σ and Π). 6. Function examples. 7. Class examples. 8. Euclid’s GCD algorithm. 9. Sorting algorithms. 3 6 Advice 1. Read carefully all the course material!...
View Full Document

This note was uploaded on 10/14/2011 for the course ENGINEER CHEM ENG 3 taught by Professor Ghosh during the Spring '11 term at McMaster University.

Page1 / 10

summary - Course Summary ENGINEER 1D04 Dr. William M....

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

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