Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
4 views14 pages

CS150 Introduction

150

Uploaded by

Monica Almaeim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views14 pages

CS150 Introduction

150

Uploaded by

Monica Almaeim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

CS 150

Introduction to
Programming Fundamentals
Introduction

1
Introduction
• Look at the principles needed to produce high quality
software that efficiently and effectively meets the needs
of the user
• Produce software yourself based on the principles learnt.
• The process of writing software logically is what is
called programming
• Programming is easy, but requires patience and
perseverance
• Programmers make mistakes and the don’t know everything
2
Aim
• To appreciate and understand the importance of
analysis, design and implementation in order to
develop high quality software

3
Learning Outcomes
• Analyze and explain the behaviour of simple programs
involving the fundamental programming constructs variables,
expressions, assignments, I/O, control constructs, functions,
parameter passing, and recursion
• Identify and describe uses of primitive data types
• Write programs that use primitive data types
• Modify and expand short programs that use standard
conditional and iterative control structures and functions

4
Learning Outcomes cont.
• Design, implement, test, and debug a program that uses each of the
following fundamental programming constructs: basic computation,
simple I/O, standard conditional and iterative structures, the definition
of functions, and parameter passing
• Write a program that uses file I/O to provide persistence across
multiple executions
• Choose appropriate conditional and iteration constructs for a given
programming task
• Describe the concept of recursion and give examples of its use
• Identify the base case and the general case of a recursively-defined
problem
5
Contents
1. Basic syntax and semantics of a higher-level language
2. Variables and primitive data types (e.g., numbers, characters,
Booleans)
3. Expressions and assignments
4. Simple I/O including file I/O
5. Conditional and iterative control structures
6. Functions and parameter passing
7. The concept of recursion
8. Program comprehension
9. Program correctness
10. Types of errors (syntax, logic, run-time)

6
Contents
11.The concept of a specification
12.Defensive programming (e.g. secure coding, exception handling)
13.Code reviews
14.Testing fundamentals and test-case generation
15.The role and the use of contracts, including pre- and post-conditions
16.Simple refactoring
17.Modern programming environments
18.Code search
19.Programming using library components and their APIs
20.Debugging strategies
21.Documentation and program style

7
Assessment
• CA 40%
• minimum 2 Tests and 1 Assignment
• Exam 60%

8
Prescribed Reading
1. Stephen Prata, C++ Primer Plus, 6th Edition,
2011,Addison-Wesley Professional, ISBN-10:
0321776402 ISBN-13: 978-0321776402

9
Recommended Reading
1. Deitel & Deitel, C++ How to Program 4th Edition,
2004, Prentice Hall, ISBN 0130384747
2. Stephens D. Ryan et.al. C++ Cookbook, O'Reilly
Media, Inc.,2005, ISBN-10: 0596007612 ISBN-13:
978-0596007614
3. Michael T. Goodrich et.al , Data Structures and
Algorithms in C++, John Wiley & Sons, ISBN: 978-0-
470-38327-8
4. Toni Gaddis, Starting Out With C++: From Control
Structures through Objects, 8th Edition
10
Time frames
• You are expected to spend at least 120 hours of study
time.
• This is equivalent to two (2) hours of lectures and
two (2) hours Labs per week
• You are encourage to make good use of links that
will be provided on the portal to do further reading
and write as many programs as you can because
programming is best learnt by practice

11
Study Skills
• make a strategy for yourself which will make
you succeed
• draw a working time-table and stick to it
• work judiciously on all the task and assignments

12
Software and Tools Required
• Drawing software
• Draw.IO or [Diagrams.net]
• Programming
• Codeblocks [for PC and Mac]
• CPPDroid [if you will be using an android device]
• www.ideone.com [if you wish to program online]
• Hardware Programming
• https://www.tinkercad.com/ [create a free account]

13
Activity
• Watch the video provided and provide your
comments

14

You might also like