of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1
D. Software Development 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 analyse problems from macro and micro point of views. It offers a balance between theoretical knowledge and technical knowledge. 2
D. Software Development This elective helps to 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. 3
D. Software Development 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. 4
D. Software Development Learning Objectives Students 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; and how to apply concepts underlying software development in a systematic way. 5
Overall Time Allocation Compulsory (20 hrs) - Basic Programming Concepts Elective (75 hrs) - Systems Development - Programming Languages Core (18 hrs) Elective (30 hrs) - Programming (47 hrs) 6
D. Software Development Time allocation: 75 hrs Systems Development (16 hours) Programming Languages (12 hours) (25 hours) Programming (47 hours) 7
D. Software Development a. Programming (47 hrs) Details i. Problem definition and analysis ii. Design of solution iii. Implementation iv. Testing and evaluation v. Documentation b. Programming Languages (12 hrs) i. Programming paradigms Details ii. Language translators and compilers 8
D. Software Development c. Systems Development (16 hrs) i. Basic concepts ii. Systems Analysis iii. System design iv. Systems implementation Details v. System conversion and maintenance vi. Systems documentation vii. Alternative approaches viii. The personnel 9
Aims and Objectives D. Software Development High order thinking High order thinking Creativity 10
D. Software Development Choices of Programming Languages Examination - Pascal / C - Java / VB Coursework - Not specified Examination - Pascal / C Coursework - Not specified 11
D. Software Development a. Programming (47 hrs) Contents Problem Definition - define problem - identify tasks Same - Core Module 12
D. Software Development a. Programming (47 hrs) Contents I/O Analysis Top-down/bottom-up Modularity (compulsory) Structured prog. Same - Elective Module A - Trial-and-error 13
D. Software Development a. Programming (47 hrs) Contents Data types & Algorithms - Integer, real, character, Boolean - String & linear array - User defined (Compulsory) - Truth tables (Compulsory) - Flowcharts / block diagram Same - Core module -Elective A -Elective A -Elective A - Core Module 14
D. Software Development a. Programming (47 hrs) Contents Algorithms: - counting - accumulating -swapping - searching (linear, binary) - sorting (bubble, insertion, merge) - merging (2 arrays) Same - Elective Module A - Loosely defined 15
D. Software Development a. Programming (47 hrs) Contents Selection of Algorithms: - complexities - data structure - efficiency - correctness - appropriateness Same - Elective Module A - Loosely defined 16
D. Software Development a. Programming (47 hrs) Contents Basic constructs: - global variable - local variable - constants - assignment statements - I/O statements - operators - precedence - association Same - Elective Module A 17
D. Software Development a. Programming (47 hrs) Contents Control structures - sequence - selection - iteration Same - Elective Module A 18
D. Software Development a. Programming (47 hrs) Contents ADT (implemented by arrays) - list - linked list -stack -queue Same - Elective Module A - concepts only 19
D. Software Development a. Programming (47 hrs) Contents Text File handling - delete records - insert records - append records - amend records Same - Elective Module A - Loosely defined 20
D. Software Development a. Programming (47 hrs) Contents Subprograms - passed by value - passed by reference Same - Elective Module A 21
D. Software Development a. Programming (47 hrs) Contents Programming style - meaningful variables - comments - space & indentation Same - Elective Module A 22
a. Programming (47 hrs) Contents D. Software Development Structured programming - Why and advantages Same - Elective Module A (implicit) 23
D. Software Development a. Programming (47 hrs) Contents Numerical errors - rounding - truncation -overflow - underflow No 24
D. Software Development a. Programming (47 hrs) Contents Program Errors -syntax - logical -runtime Same - Elective Module A 25
D. Software Development a. Programming (47 hrs) Contents Debug - manual -software - stubs/flags - breakpoints/trace Same - Elective Module A - Loosely defined 26
a. Programming (47 hrs) Contents D. Software Development Test data design Same - Full range of test cases 27
D. Software Development a. Programming (47 hrs) Contents Documentation - Algorithm representation - program listing -test data - user manual Same - Program documentation (titles, lists, variable definitions, test data, sample output, internal documentation, etc.) 28
b. Programming Languages (12 hrs) Aims and Objectives D. Software Development Appropriate Languages Make Choice Aware / Use 29
D. Software Development b. Programming Languages (12 hrs) Contents Programming Paradigms - Procedural, logic, object oriented - query language Same - Elective Module A Illustration 30
D. Software Development b. Programming Languages (12 hrs) Contents Translator & Compiler - compilers & interpreters - code generation, linker & loader (Define) Same - Elective Module A - assembler Back 31
D. Software Development c. Systems Development (16 hrs) Aims and Objectives Systems Development - Systematic approach - Apply concepts Program Development - Elective Module A Problem Solving -Core 32
D. Software Development c. Systems Development (16 hrs) Content Basic concept - basic element - Waterfall Model Same 33
D. Software Development c. Systems Development (16 hrs) Content System analysis - Information gathering activities. - feasibility study VS proposed solution - write specifications - Loosely defined 34
D. Software Development c. Systems Development (16 hrs) Content System Design - Functions of parts - User interface (design, comparison..) - use of chart and support documents - Use Gantt Charts on project management -Loosely defined -same 35
D. Software Development c. Systems Development (16 hrs) Content System implementation - Different types of test (unit test, system testing, acceptance testing) - Debug / Test program - Design simple test plan 36
D. Software Development c. Systems Development (16 hrs) Content Conversion & Maintenance - different strategies (pilot, phased, parallel, direct) No - needs for maintenance.. 37
c. Systems Development (16 hrs) Content D. Software Development Systems Documentation Same - Elective Module A 38
D. Software Development c. Systems Development (16 hrs) Content Alternative Approaches - Limitation of Waterfall - Latest Approaches Same - Elective Module A - other approaches can be used. (Prototyping, Rapid Application Development) (top-down, bottom-up, trial-and error approaches) 39
c. Systems Development (16 hrs) Content D. Software Development Personnel - in systems development No 40
a. Programming ii. Design of Solution Addition: Select appropriate data types for a solution. b. Systems Development Changes made since 2nd Consultation D. Software Development ii. 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 Implementation Deletion: Identify the major tasks involved in implementation. 41
D. Software Development Variations of Curriculum Planning: Programming first, then Systems Development Systems Development, then Programming 42
D. Software Development 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. 43
D. Software Development Example 1 - Small Change Enter the amount($): 2004.8 $1000: 2 $2 : 2 $0.5 : 1 $0.2 : 1 $0.1 : 1 Again (Y/N): Y Enter the amount($): _ (data type) 44
D. Software Development Example 2 The More The Less var i:integer; begin i:=20000; writeln ('i=',i); readln; i:=i*2; writeln ('i=',i); readln end. (overflow error) 45
Example 3 Mark Six D. Software Development Press ENTER to draw a number... The first drawn number is: 33 The second drawn number is: 21 The third drawn number is: 5 The fourth drawn number is: 24 The fifth drawn number is: 7 The sixth drawn number is: 1 The six numbers drawn are: 1 5 7 21 24 33 (data structure and algorithm) 46
D. Software Development 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 47
D. Software Development Example Leave A Message System (LAMS) ***Students are required to: (optional) - develop the system - testing and evaluation - documentation 48
D. Software Development Example Leave A Message System (LAMS) Test Plan 49
D. Software Development 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 50
D. Software Development Other examples of Systems Development project - Room Allocation Wizard (RAW) - Homework Input and Storage System (HISS) 51
Thank you! 52