Top Banner
Mark Dixon, SoCCE SOFT 131 Page 1 SOFT 131 01 – Module Introduction & Overview
23

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

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 1

SOFT 13101 – Module Introduction & Overview

Page 2: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 2

About Me

• Contact DetailsMark [email protected] 232556Portland SquareRoom B316

• AvailabilityMonday, Tuesday, Wednesday – School of Computing Communications and Electronics (main campus)Thursday, Friday – Peninsula Medical School (Derriford Hospital)

Page 3: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 3

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

Page 4: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 4

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: Soft131 web-site (mdixon.soc.plymouth.ac.uk)

• Lectures:

– Don’t come in after 15 minutes past the hour.

Page 5: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 5

Module FormatThe module is delivered as follows:

• Lecture: 1 hr per week, all groups, Mondays 13:05 – 13:55

• Tutorials / Practical Session: 2 hr per weekMondays 14:05 – 15:55Tuesdays 14:05 – 15:55Tuesdays 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)

Page 6: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 6

Schedule (Term 1)

Week Start Title Topics and Concepts Assignment

No. Date

1 27-Sep Module introduction & overview Specifications, Objects, Controls, Properties, Methods, Events, Event handlers, Procedures, Instructions, Assignment, deep vs. surface learning

2 04-Oct User Interface Design Usefulness, usability, learnability, user interface design principles, incremental development, functional decomposition, verification, validation

3 11-Oct Graphics Grid system, graphics controls and methods (pset, line, circle).

4 18-Oct Data, Data-types, and Variables Types of data, data types, variable declaration & assignment

5 25-Oct Conditional execution (selection) Conditional statements (if and case statements), decision trees

6 01-Nov Iteration (repetition) Manual and automatic iteration using loops (for and while statements)

7 08-Nov Constants, Arrays, & Structures Constants, arrays, structures/records/user defined data types

8 15-Nov Procedures Abstraction, procedures.

9 22-Nov Arguments/Parameters Arguments/parameters, calling by value and by reference Out

10 29-Nov Functions Functions

11 06-Dec Arrays of Structures & Modules Arrays of Structures, Modules/units

12 13-Dec Passing Parameters by Reference Memory addresses, pass by value, pass by reference. In Fri 17 Dec

Page 7: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 7

Reading List 1

The following book is recommended reading:– McKeown, P; and Piercy, C (2001) Learning to program with

Visual BASIC. 2nd Edition. John Wiley & Sons. ISBN 0-471-41862-5

Page 8: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 8

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

library):• Pressman, R (2000) Software Engineering: a practitioner's approach. 5th

edition. McGraw-Hill. ISBN: 0-07-709677-0. • Sommerville, I (2001) Software Engineering. 6th 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. 3rd edition. Addison-Wesley. ISBN 0-201-69497-2004.019 SHN

Page 9: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 9

Student Background

• Typically wide range of prior experienceA. 10 years programming (professional?)

B. 5 years programming (professional?)

C. 3 years programming (professional?)

D. 1 year programming (learning)

E. no programming

• Can be difficult to cater for allA B C D E

number ofstudents

Page 10: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 10

Attendance

• Attendance is mandatory

• This is not a distance learning course

• portal is supplement (not replacement) for attending lectures and tutorials

Page 11: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 11

What is Programming?

• Essentially: teaching computers

User Requirements(Natural Language:English)

User

SoftwareDeveloper

Computer

Instructions(computer programming language:Visual BASIC)

(You)

Page 12: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 12

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

Page 13: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 13

Example 1: Hello

Page 14: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 14

Event-driven programming

Form1

Label1

Command1

Click

Double Click

Key Press

Event

Windows Programming

Form Control

Objects

Sub Command1_Click

End Sub

Label1.Caption = “Hello”

EventHandler

Procedure

Instruction

IdentifierProperty

Literal

Page 15: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 15

VB Environment

Toolbox

PropertiesWindow

FormWindow

ProjectExplorer

Page 16: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 16

Controls - ToolBox

• Design screens (forms) usingcontrols 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

Page 17: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 17

Properties

• Label– Name: used to identify control (not visible to user)– Caption: the text displayed on the label– BackColor: 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

Page 18: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 18

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)

Page 19: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 19

Example 2 v1: Analysis

• User Requirement: – to teach students about

• fundamentals of software development process

• Software Requirements Specificationsoftware should include:– setting property at design time– setting property at run time– …– code has to fit on single slide

Non-functionalrequirement

Functionalrequirements

Page 20: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 20

Example 2 v1: 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.

Page 21: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 21

Example 2 v1: 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)

Page 22: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 22

Example 2 v1: Code Implementation

Private Sub btnBlue_Click() lblResult.BackColor = vbBlueEnd Sub

Private Sub btnRed_Click() lblResult.BackColor = vbRedEnd Sub

Private Sub lblResult_DblClick() lblResult.BackColor = vbWhiteEnd Sub

• Properties (setting at run-time)– use code, assignment operator (=)– can change while program is running

btnRed btnBlue

lblResult

Page 23: Mark Dixon, SoCCE SOFT 131Page 1 SOFT 131 01 – Module Introduction & Overview.

Mark Dixon, SoCCE SOFT 131 Page 23

Sequence

• Execution sequence controlled in two ways:– procedures controlled by order of events– instructions (lines) controlled by order in code

Private Sub btnBlue_Click() lblResult.BackColor = vbBlueEnd Sub

Private Sub btnRed_Click() lblResult.BackColor = vbGreen lblResult.BackColor = vbRedEnd Sub

Private Sub lblResult_DblClick() lblResult.BackColor = vbWhiteEnd Sub

VB