Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.

Slides:



Advertisements
Similar presentations
Unit 6 Assignment 2 Chris Boardley.
Advertisements

Chapter 3: Modularization
Chapter 2: Modularization
Programming Logic and Design Fourth Edition, Introductory
ALGORITHMS THIRD YEAR BANHA UNIVERSITY FACULTY OF COMPUTERS AND INFORMATIC Lecture two Dr. Hamdy M. Mousa.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 1 Principles of Programming and Software Engineering.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Software Re-engineering
OOP- OBJECT OBJECT PROGRAMMING By KRATI SHARMA 02 XI-B ✏✏✏✏ ☺☻☺☻☺☻☺ ✏✏✏✏
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
Top-Down Design and Modular Development
GCSE OCR 3 A451 Computing Professional standards
CSCI-383 Object-Oriented Programming & Design Lecture 1.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Introduction to Functions CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
IB Computer Science Content developed by Dartford Grammar School Computer Science Department Objects as a programming concept.
Chapter 2 Principles of Programming and Software Engineering.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
IB Computer Science Content developed by Dartford Grammar School Computer Science Department Objects as a programming concept.
Principles of Programming & Software Engineering
7 - Programming 7J, K, L, M, N, O – Handling Data.
Computer Organisation
CompSci 280 S Introduction to Software Development
Planning & System installation
Objects as a programming concept
Resource Management IB Computer Science.
Planning & System installation
Planning & System installation
Resource Management IB Computer Science.
Control Systems IB Computer Science.
Planning & System Installation
Topic: Programming Languages and their Evolution + Intro to Scratch
Planning & System installation
Computer Organisation
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Objects as a programming concept
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Planning & System Installation
Planning & System Installation
Objects as a programming concept
Planning & System Installation
System Design Basics IB Computer Science.
Computer Organisation
Planning & System installation
Principles of Programming and Software Engineering
Software Maintenance.
Planning & System Installation
Planning & System Installation
System Design Basics IB Computer Science.
Unit 6 Assignment 2 Chris Boardley.
The Programming Process
COMP60611 Fundamentals of Parallel and Distributed Systems
A programming language
Top-Down Design & JSP Skill Area Part D
Type Topic in here! Created by Educational Technology Network
Modules, Subroutines, Procedures, Functions, or Methods
Software Re-engineering and Reverse Engineering
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science

HL Topics 1-7, D1-4 1: System design 3: Networks 2: Computer Organisation 3: Networks 4: Computational thinking 5: Abstract data structures 6: Resource management 7: Control D: OOP

HL & SL 4.3 Overview 1: System design 2: Computer Organisation 3: Networks Nature of programming languages 4.3.1 State the fundamental operations of a computer 4.3.2 Distinguish between fundamental and compound operations of a computer 4.3.3 Explain the essential features of a computer language 4.3.4 Explain the need for higher level languages 4.3.5 Outline the need for a translation process from a higher level language to machine executable code Use of programming languages 4.3.6 Define the terms: variable, constant, operator, object 4.3.7 Define the operators =, ., <, <=, >, >=, mod, div 4.3.8 Analyse the use of variables, constants and operators in algorithms 4.3.9 Construct algorithms using loops, branching 4.3.10 Describe the characteristics and applications of a collection 4.3.11 Construct algorithms using the access methods of a collection 4.3.12 Discuss the need for sub-programmes and collections within programmed solutions 4.3.13 Construct algorithms using predefined sub-programmes, one-dimensional arrays and/or collections 4: Computational thinking 5: Abstract data structures 6: Resource management 7: Control D: OOP

Topic 4.3.12 Discuss the need for sub- programmes and collections within programmed solutions

Advantages to modular design Modular programming is an important and beneficial approach to programming problems. They make program development easier, and they can also help with future development projects. Key benefits/advantages: Usefulness of reusable code Eases program organization, both for the individual programmer, team members Makes future maintenance easier – you only have fix/update a module, not the whole program

Manageable tasks Breaking down a programming project into modules makes it more manageable. These individual modules are easier to design, implement and test. Then you can use these modules to construct the overall program.

Distributed development Modular programming allows distributed development. By breaking down the problem into multiple tasks, different developers can work in parallel. And this will shorten the development time.

Code reusability A program module can be reused in programs. This is a convenient feature because it reduces redundant code. Modules can also be reused in future projects. It is much easier to reuse a module than recreate program logic from scratch.

Program readability Modular programming leads to more readable programs. Modules can be implemented as user-defined functions. A program that has plenty of functions is straightforward. But a program with no functions can be very long and hard to follow.