Post on 07-Mar-2018
1
The Elective Part of theNSS ICT Curriculum
D. Software Development
Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, RobertMember of CDC – HKEAA Committee on ICT
(Senior Secondary)
2
D. Software DevelopmentThe Elective Part
The concepts / skills learnt in this option is easily transferable and applicable in analysing and solving problems we face in daily lives.
It gives opportunities to students to understand and analyseproblems from macro and micro point of views.
It offers a balance between theoretical knowledge and technical knowledge.
3
This elective helpsto develop students’ their problem-solving skills through a systematic approach to algorithm design and programming, as well as to improve their logical thinking and critical thinking skills;to develop students’ creativity and broaden their views on software development;to offer students a wider choice from which to think and select an appropriate approach to solve a specific problem in future.
D. Software DevelopmentThe Elective Part
4
D. Software DevelopmentThe Elective Part
If students
are problem-solvers, and are keen on carrying out projects using computers may consider selecting this elective which focuses on solving problems and developing solutions.
5
Learning ObjectivesStudents will learn about:
how to define and analyse problems;the importance of good programming skills and good programming styles;the importance of formulating appropriate algorithms in solving problems;creative design and development of computer programs;how to illustrate different programming paradigms with appropriate programming languages; how to choose different languages to meet different needs;the importance of a systematic approach to software development; andhow to apply concepts underlying software development in a systematic way.
D. Software DevelopmentThe Elective Part
6
Overall Time Allocation
Core (18 hrs)
Elective (30 hrs)
Compulsory (20 hrs)- Basic Programming Concepts
Elective (75 hrs)- Systems Development- Programming Languages
- Programming (47 hrs)
CE-CIT (2 years)NSS-ICT (3 years)
7
(25 hours)
Time allocation: 75 hrs
Programming(47 hours)
SystemsDevelopment
(16 hours)
ProgrammingLanguages(12 hours)
The Elective PartD. Software Development
8
a. Programming (47 hrs)
i. Problem definition and analysisii. Design of solutioniii. Implementationiv. Testing and evaluationv. Documentation
b. Programming Languages (12 hrs)
i. Programming paradigmsii. Language translators and compilers
D. Software DevelopmentThe Elective Part
Details
Details
9
c. Systems Development (16 hrs)
i. Basic conceptsii. Systems Analysisiii. System designiv. Systems implementationv. System conversion and maintenancevi. Systems documentationvii. Alternative approachesviii. The personnel
D. Software Development
The Elective Part
Details
10
Aims and Objectives
D. Software DevelopmentThe Elective Part
High order thinkingHigh order thinking
Creativity
CE-CIT (2 years)NSS-ICT (3 years)
11
Choices of Programming Languages
D. Software DevelopmentThe Elective Part
Examination- Pascal / C
Coursework- Not specified
Examination- Pascal / C- Java / VB
Coursework- Not specified
CE-CIT (2 years)NSS-ICT (3 years)
12
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Core Module
Problem Definition- define problem- identify tasks
CE-CIT (2 years)NSS-ICT (3 years)
13
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- Trial-and-error
I/O AnalysisTop-down/bottom-upModularity (compulsory)
Structured prog.
CE-CIT (2 years)NSS-ICT (3 years)
14
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same- Core module
- Elective A - Elective A- Elective A- Core Module
Data types & Algorithms- Integer, real, character, Boolean (Compulsory)
- String & linear array- User defined- Truth tables (Compulsory)
- Flowcharts / block diagram
CE-CIT (2 years)NSS-ICT (3 years)
15
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- Loosely defined
Algorithms:- counting- accumulating- swapping- searching (linear, binary)- sorting (bubble, insertion, merge)
- merging (2 arrays)
CE-CIT (2 years)NSS-ICT (3 years)
16
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- Loosely defined
Selection of Algorithms:- complexities- data structure- efficiency- correctness- appropriateness
CE-CIT (2 years)NSS-ICT (3 years)
17
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Basic constructs:- global variable- local variable- constants- assignment statements- I/O statements- operators- precedence- association
CE-CIT (2 years)NSS-ICT (3 years)
18
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Control structures- sequence- selection- iteration
CE-CIT (2 years)NSS-ICT (3 years)
19
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- concepts only
ADT(implemented by arrays)- list- linked list- stack-queue
CE-CIT (2 years)NSS-ICT (3 years)
20
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- Loosely defined
Text File handling- delete records- insert records- append records- amend records
CE-CIT (2 years)NSS-ICT (3 years)
21
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Subprograms- passed by value- passed by reference
CE-CIT (2 years)NSS-ICT (3 years)
22
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Programming style- meaningful variables- comments- space & indentation
CE-CIT (2 years)NSS-ICT (3 years)
23
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A (implicit)
Structured programming- Why and advantages
CE-CIT (2 years)NSS-ICT (3 years)
24
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
NoNumerical errors- rounding- truncation- overflow- underflow
CE-CIT (2 years)NSS-ICT (3 years)
25
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Program Errors- syntax- logical- runtime
CE-CIT (2 years)NSS-ICT (3 years)
26
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A- Loosely defined
Debug- manual- software- stubs/flags- breakpoints/trace
CE-CIT (2 years)NSS-ICT (3 years)
27
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Full range of test cases
Test data designCE-CIT (2 years)NSS-ICT (3 years)
28
a. Programming (47 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Program documentation(titles, lists, variable definitions,test data, sample output, internal documentation, etc.)
Documentation- Algorithm representation- program listing- test data- user manual
CE-CIT (2 years)NSS-ICT (3 years)
29
b. Programming Languages (12 hrs)Aims and Objectives
D. Software DevelopmentThe Elective Part
Aware / UseAppropriate LanguagesMake Choice
CE-CIT (2 years)NSS-ICT (3 years)
30
b. Programming Languages (12 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
Programming Paradigms- Procedural, logic, object oriented- query language
Illustration
CE-CIT (2 years)NSS-ICT (3 years)
31
b. Programming Languages (12 hrs)Contents
D. Software DevelopmentThe Elective Part
Same - Elective Module A
- assembler
Translator & Compiler- compilers & interpreters
- code generation, linker & loader (Define)
CE-CIT (2 years)NSS-ICT (3 years)
Back
32
c. Systems Development (16 hrs)Aims and Objectives
D. Software DevelopmentThe Elective Part
Program Development - Elective Module A
Problem Solving - Core
Systems Development- Systematic approach
- Apply concepts
CE-CIT (2 years)NSS-ICT (3 years)
33
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
SameBasic concept- basic element- Waterfall Model
CE-CIT (2 years)NSS-ICT (3 years)
34
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
- Loosely definedSystem analysis- Information gathering activities.- feasibility study VS proposed solution- write specifications
CE-CIT (2 years)NSS-ICT (3 years)
35
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
-Loosely defined
- same
System Design
- Functions of parts- User interface (design, comparison ..)- use of chart and support documents- Use Gantt Charts on project management
CE-CIT (2 years)NSS-ICT (3 years)
36
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
- Debug / Test programSystem implementation- Different types of test(unit test, system testing, acceptance testing)
- Design simple test plan
CE-CIT (2 years)NSS-ICT (3 years)
37
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
NoConversion & Maintenance- different strategies(pilot, phased, parallel, direct)
- needs for maintenance …..
CE-CIT (2 years)NSS-ICT (3 years)
38
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
Same- Elective Module A
Systems DocumentationCE-CIT (2 years)NSS-ICT (3 years)
39
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
Same- Elective Module A- other approaches can be used.
(top-down, bottom-up, trial-and error approaches)
Alternative Approaches- Limitation of Waterfall- Latest Approaches
(Prototyping, Rapid Application Development)
CE-CIT (2 years)NSS-ICT (3 years)
40
c. Systems Development (16 hrs)Content
D. Software DevelopmentThe Elective Part
NoPersonnel - in systems development
CE-CIT (2 years)NSS-ICT (3 years)
41
a. Programmingii. Design of Solution
Addition: Select appropriate data types for a solution.
b. Systems Developmentii. System Analysis
Addition: Identify the major task involved in solving a problem.iii. Systems Design
Deletion: Know Critical Path Analysis on project management.Addition: Use Gantt Charts for project management.
iv. System ImplementationDeletion: Identify the major tasks involved in implementation.
The Elective Part
D. Software DevelopmentChanges made since 2nd Consultation
42
Variations of Curriculum Planning:
• Programming first, then Systems Development
• Systems Development, then Programming
The Elective PartD. Software Development
43
Experience sharing: Examples of learning and teaching activities
Authentic Tasks:Data collection -- design a questionnaire
conduct an interview Systems design – draw a Gantt Chart
*** Emphasis should be put on the overall system analysis and design, not just on technical programming skills.
The Elective PartD. Software Development
44
Example 1 - Small Change (data type)Enter the amount($): 2004.8$1000: 2$2 : 2$0.5 : 1$0.2 : 1$0.1 : 1Again (Y/N): YEnter the amount($): _
The Elective PartD. Software Development
45
Example 2 – The More The Less (overflow error)var i:integer;begin
i:=20000;writeln ('i=',i);readln;i:=i*2;writeln ('i=',i);readln
end.
The Elective PartD. Software Development
46
Example 3 – Mark Six (data structure and algorithm)Press ENTER to draw a number...The first drawn number is: 33The second drawn number is: 21The third drawn number is: 5The fourth drawn number is: 24The fifth drawn number is: 7The sixth drawn number is: 1
The six numbers drawn are:1 5 7 21 24 33
The Elective PartD. Software Development
47
Example 4 – Leave A Message System (LAMS)(Systems development)
***Students are required to:- Set a questionnaire- Prepare interview questions- Interview with the hotel manager- Draft the system requirements/specifications- Prepare a work schedule (use of Gantt Chart)
- Produce a prototype for demonstration
The Elective PartD. Software Development
48
Example – Leave A Message System (LAMS)
***Students are required to: (optional)- develop the system- testing and evaluation - documentation
The Elective PartD. Software Development
49
Example – Leave A Message System (LAMS)Test Plan
The Elective PartD. Software Development
50
Example – Leave A Message System (LAMS)
*** Points to note:- Cross-curricular activity- Create a scenario- Encourage :
* team work* originality* documentation (reports / journal)* self-motivation / self-learning
The Elective PartD. Software Development
51
Other examples of Systems Development project
- Room Allocation Wizard (RAW)
- Homework Input and Storage System (HISS)
The Elective PartD. Software Development
52
Thank you!