SOFT 131 01 Module Introduction Overview Mark Dixon

  • Slides: 23
Download presentation
SOFT 131 01 – Module Introduction & Overview Mark Dixon, So. CCE SOFT 131

SOFT 131 01 – Module Introduction & Overview Mark Dixon, So. CCE SOFT 131 Page 1

About Me • Contact Details Mark Dixon mark. dixon@plymouth. ac. uk 01752 232556 Portland

About Me • Contact Details Mark Dixon mark. dixon@plymouth. ac. uk 01752 232556 Portland Square Room B 316 • Availability Monday, Tuesday, Wednesday – School of Computing Communications and Electronics (main campus) Thursday, Friday – Peninsula Medical School (Derriford Hospital) Mark Dixon, So. CCE SOFT 131 Page 2

Module Aims • This module aims to teach you: – How to learn (self-directed)

Module Aims • This module aims to teach you: – How to learn (self-directed) • surface learning (memorisation of isolated facts) • deep learning (interrelated concepts) – How to develop software: • fundamental programming concepts (e. g. events, procedures) • how to combine these to solve problems – How to use Visual BASIC Mark Dixon, So. CCE SOFT 131 Page 3

Module Admin • Lectures and tutorials: – start at 5 minutes past the hour,

Module Admin • Lectures and tutorials: – start at 5 minutes past the hour, and – aim to end at 5 minutes to the hour – if no lecturer - wait until 15 minutes past the hour then you may leave – Turn mobile phones off. – Ask questions or comment at any time – Feel free to talk quietly amongst yourselves – Material (slides, handouts, etc. ) available 1 hour before session, on: Soft 131 web-site (mdixon. soc. plymouth. ac. uk) • Lectures: – Don’t come in after 15 minutes past the hour. Mark Dixon, So. CCE SOFT 131 Page 4

Module Format The module is delivered as follows: • Lecture: 1 hr per week,

Module Format The module is delivered as follows: • Lecture: 1 hr per week, all groups, Mondays 13: 05 – 13: 55 • Tutorials / Practical Session: 2 hr per week Mondays 14: 05 – 15: 55 Tuesdays 09: 05 – 10: 55 • Private study (as much as it takes – typically 3 hours/week) • Teaching Evaluation (timely and specific) – Student Perception Questionnaire – Continuous Informal Feedback (talk to me) Mark Dixon, So. CCE SOFT 131 Page 5

Schedule (Term 1) Week No. 1 Start Date 27 -Sep Title Topics and Concepts

Schedule (Term 1) Week No. 1 Start Date 27 -Sep Title Topics and Concepts Module introduction & overview 2 04 -Oct User Interface Design 3 4 5 6 11 -Oct 18 -Oct 25 -Oct 01 -Nov Graphics Data, Data-types, and Variables Conditional execution (selection) Iteration (repetition) 7 8 9 10 11 12 08 -Nov 15 -Nov 22 -Nov 29 -Nov 06 -Dec 13 -Dec Constants, Arrays, & Structures Procedures Arguments/Parameters Functions Arrays of Structures & Modules Passing Parameters by Reference Specifications, Objects, Controls, Properties, Methods, Event handlers, Procedures, Instructions, Assignment, deep vs. surface learning Usefulness, usability, learnability, user interface design principles, incremental development, functional decomposition, verification, validation Grid system, graphics controls and methods (pset, line, circle). Types of data, data types, variable declaration & assignment Conditional statements (if and case statements), decision trees Manual and automatic iteration using loops (for and while statements) Constants, arrays, structures/records/user defined data types Abstraction, procedures. Arguments/parameters, calling by value and by reference Functions Arrays of Structures, Modules/units Memory addresses, pass by value, pass by reference. Mark Dixon, So. CCE SOFT 131 Assignment Out In Fri 17 Dec Page 6

Reading List 1 The following book is recommended reading: – Mc. Keown, P; and

Reading List 1 The following book is recommended reading: – Mc. Keown, P; and Piercy, C (2001) Learning to program with Visual BASIC. 2 nd Edition. John Wiley & Sons. ISBN 0 -47141862 -5 Mark Dixon, So. CCE SOFT 131 Page 7

Reading List 2 Additional reading (the following are referred to occasionally, borrow from library):

Reading List 2 Additional reading (the following are referred to occasionally, borrow from library): • Pressman, R (2000) Software Engineering: a practitioner's approach. 5 th edition. Mc. Graw-Hill. ISBN: 0 -07 -709677 -0. • Sommerville, I (2001) Software Engineering. 6 th edition. Addison-Wesley. ISBN: 0 -201 -39815 -X. – Overview of Software Engineering: Chapter 1, especially page 4. • Preece, J; Rogers, Y; Sharp, H; Benyon, D; Holland, S; and Carey, T (1994) Human-Computer Interaction. Addison Wesley. ISBN: 0 -201 -62769 -8 – Direct Manipulation: Section 13. 6, pages 270 -272. – Interface Design: Chapter 24, pages 487 -499. • Shneiderman, Ben (1998) Designing the user interface: strategies for effective human-computer interaction. 3 rd edition. Addison-Wesley. ISBN 0 -201 -69497 -2 004. 019 SHN Mark Dixon, So. CCE SOFT 131 Page 8

Student Background • Typically wide range of prior experience A. B. C. D. E.

Student Background • Typically wide range of prior experience A. B. C. D. E. 10 years programming (professional? ) 5 years programming (professional? ) 3 years programming (professional? ) 1 year programming (learning) no programming number of students A • B C D E Can be difficult to cater for all Mark Dixon, So. CCE SOFT 131 Page 9

Attendance • Attendance is mandatory • This is not a distance learning course •

Attendance • Attendance is mandatory • This is not a distance learning course • portal is supplement (not replacement) for attending lectures and tutorials Mark Dixon, So. CCE SOFT 131 Page 10

What is Programming? • Essentially: teaching computers (You) User Requirements (Natural Language: English) Software

What is Programming? • Essentially: teaching computers (You) User Requirements (Natural Language: English) Software Developer Instructions (computer programming language: Visual BASIC) Computer Mark Dixon, So. CCE User SOFT 131 Page 11

Software Engineering • Response to failure of software: – late – over budget –

Software Engineering • Response to failure of software: – late – over budget – does not work • Specifications – describe what software should do • acts as ‘to do’ list for developer • acts as contract between developer and user • Functional decomposition – break down problem into smaller chunks • Incremental Development – do a bit at a time Mark Dixon, So. CCE SOFT 131 Page 12

Example 1: Hello Mark Dixon, So. CCE SOFT 131 Page 13

Example 1: Hello Mark Dixon, So. CCE SOFT 131 Page 13

Event-driven programming Property Identifier Literal Form 1 Click Command 1 Form Double Click Label

Event-driven programming Property Identifier Literal Form 1 Click Command 1 Form Double Click Label 1 Key Press Control Event Objects Windows Mark Dixon, So. CCE Sub Command 1_Click Label 1. Caption = “Hello” End Sub Event Handler Procedure Instruction Programming SOFT 131 Page 14

VB Environment Toolbox Properties Window Form Window Project Explorer Mark Dixon, So. CCE SOFT

VB Environment Toolbox Properties Window Form Window Project Explorer Mark Dixon, So. CCE SOFT 131 Page 15

Controls - Tool. Box • Design screens (forms) using controls from the Toolbox: –

Controls - Tool. Box • Design screens (forms) using controls from the Toolbox: – Picture box: display diagrams & images – Label: display text that user cannot change – Textbox: allow user to enter text – Command button: allow user to initiate actions Mark Dixon, So. CCE SOFT 131 Page 16

Properties • Label – Name: used to identify control (not visible to user) –

Properties • Label – Name: used to identify control (not visible to user) – Caption: the text displayed on the label – Back. Color: the label's background colour • Command Button – Name: used to identify control (not visible to user) – Caption: the text displayed on the button • Text Box – Name: used to identify control (not visible to user) – Text: the text typed in by the user Mark Dixon, So. CCE SOFT 131 Page 17

Software Development Cycle • Software development follows this pattern: – analyse problem – design

Software Development Cycle • Software development follows this pattern: – analyse problem – design solution – implement (code) solution – test & debug solution (code) • However, it is: – cyclic/iterative (not linear) Mark Dixon, So. CCE SOFT 131 Page 18

Example 2 v 1: Analysis • User Requirement: – to teach students about •

Example 2 v 1: Analysis • User Requirement: – to teach students about • fundamentals of software development process • Software Requirements Specification software should include: – setting property at design time – setting property at run time –… – code has to fit on single slide Functional requirements Non-functional requirement Mark Dixon, So. CCE SOFT 131 Page 19

Example 2 v 1: Design • User interface design: • Functional design: Trigger (when)

Example 2 v 1: Design • User interface design: • Functional design: Trigger (when) Actions (what) click event of Red button Change Result label background to red. click event of Blue button Change Result label background to blue. double click event of Result label Change Result label background to white. Mark Dixon, So. CCE SOFT 131 Page 20

Example 2 v 1: UI Implementation • Properties (setting at design-time): – initial value

Example 2 v 1: UI Implementation • Properties (setting at design-time): – initial value only – change using properties window name: used internally to identify object (programmer) caption: displayed on button (user) Mark Dixon, So. CCE SOFT 131 Page 21

Example 2 v 1: Code Implementation • Properties (setting at run-time) – use code,

Example 2 v 1: Code Implementation • Properties (setting at run-time) – use code, assignment operator (=) – can change while program is running btn. Red btn. Blue Private Sub btn. Blue_Click() lbl. Result. Back. Color = vb. Blue End Sub Private Sub btn. Red_Click() lbl. Result. Back. Color = vb. Red End Sub lbl. Result Mark Dixon, So. CCE Private Sub lbl. Result_Dbl. Click() lbl. Result. Back. Color = vb. White End Sub SOFT 131 Page 22

Sequence • Execution sequence controlled in two ways: – procedures controlled by order of

Sequence • Execution sequence controlled in two ways: – procedures controlled by order of events – instructions (lines) controlled by order in code Private Sub btn. Blue_Click() lbl. Result. Back. Color = vb. Blue End Sub Private Sub btn. Red_Click() lbl. Result. Back. Color = vb. Green lbl. Result. Back. Color = vb. Red End Sub VB Mark Dixon, So. CCE Private Sub lbl. Result_Dbl. Click() lbl. Result. Back. Color = vb. White End Sub SOFT 131 Page 23