0% found this document useful (0 votes)
3 views48 pages

Programming 1 - Lecture 1

The document outlines the structure and content of a Programming 1 course, including facilitator contact information, class organization, and assessment breakdown. It introduces programming concepts, programming paradigms, and the Software Development Life Cycle (SDLC) versus the Program Development Cycle (PDC). Additionally, it highlights the programming languages Python and C that will be used in the course.

Uploaded by

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

Programming 1 - Lecture 1

The document outlines the structure and content of a Programming 1 course, including facilitator contact information, class organization, and assessment breakdown. It introduces programming concepts, programming paradigms, and the Software Development Life Cycle (SDLC) versus the Program Development Cycle (PDC). Additionally, it highlights the programming languages Python and C that will be used in the course.

Uploaded by

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

Programming 1

Lecture 1
Introduction to Programming

1
Facilitators
SCIT’s Phone Number: 876-9271680-8 ext 2164

• Ms. Arleen Penrose-Whittaker – [email protected]


• Mr. Courtney McTavish – [email protected]
• Mr. Euton Gordon - [email protected]
• Mr. Kenrayan Whittle – [email protected]
• Mr. Horrett Scarlett – [email protected]
• Mr. Laurie Leitch – [email protected]
• Mr. Oneil Charles – [email protected]
• Ms. Sophia McNamarah – [email protected] or
[email protected]
• Ms. Nyoka English (BTCC) - [email protected]
• Ms. Nathasa Higgin -Thomas (MBCC) - [email protected]
• Mr. Nathaniel Manning - [email protected]
• Ms. Natalee Nembhard (MTC) -
[email protected]
• Mr. Oral Robinson – [email protected] 2

• Mr. Tyrone Edwards - [email protected] or


[email protected]
Housekeeping Activities

• Module Overview
• Organization of Classes
• Schedule of learning activities and
assessments
• Assessment Breakdown

3
Module Overview

• This is a beginners class. We will be


using the structured approach. We will
cover the three control structures:
sequence, selection and repetition and
will look at basic data types(one
dimensional arrays and lists).
• Our solutions will be implemented using
Python & C

4
Organization of Classes

• Classes are organized as follows:


• 1 hour lecture
• 2 hours of tutorial
• 3 hours lab. The lab is broken down into one
supervised hour and two unsupervised
hours. The tutor stays with your for the
one supervised hour. In the remaining two
hours you are expected to complete your
worksheet. The questions from the work
sheet are used to build your portfolio which
5
contributes 30% of your final mark.
Click icon to add picture
Schedule of Learning
Activities & Assessments

ule
ed
ch
s
ss
ce
ac
to
re
he
k
il c
C

6
Assessment Breakdown
• Coursework 60%
Tutorial Test 5%
Lab Test #1 5%
Lab Test #2 5%
Lecture Test 15%
• Continuous Assessment (Project)** 30%
• Final Exam 40%
(** Every topic has an associated worksheet. You are
expected to complete all questions from each worksheet and
compile the solutions in a portfolio. Details of portfolio will
be given later. This is not a trivial activity and should not be
taken lightly.
7
Lesson Objectives:

• By the end of this lecture you should be able to:


1. Differentiate between the concepts of program and
programming
2. Explain the term programming paradigm
3. Describe the different levels of programming
4. List examples of procedural/OO languages
5. Differentiate between the Software Development
Life Cycle (SDLC) and the Program Development
Cycle (PDC)
6. Compare PDC with SDLC
8
What is a program?

• A program is an organized list of


instructions that, when executed, causes
the computer to behave in a
predetermined manner. Without
programs, computers are useless.

9
What is Programming?
• Programming is the process of instructing the
computer to accomplish a particular task.
• It is done with the help of a programming language.
• When the program is executed, the instructions will
be converted into machine language (to be
discussed later), which is the only language that the
computer understands.
• There are different levels of programming
languages and there are also different
programming paradigms.

10
Programming Paradigms

• Simply put a programming paradigm is a style


or way of programming.
• Two common examples are structured paradigm
and object oriented paradigm.
• We will be using the structured approach.
• For more information on programming
paradigms follow the link below:

https://www.geeksforgeeks.org/introduction-of-programming-p
aradigms
/ 11
Tutorial Activity

• Describe the different levels of


programming languages.
• Please type your response and be
prepared to share it in the group chat.

12
Answer – Levels of
Programming Languages
• Low Level
• Machine language
• Assembly language
• High Level
• Third generation
• Fourth generation
• Fifth generation

13
Machine Language

• Machine Language – collection of


binary digits (zeroes and ones) that the
computer reads and interprets. It is the
only language the computer
understands and is machine dependent.
• Example:

14
Assembly Language
• Uses Mnemonics or
abbreviations that corresponds
with a machine code
instruction. It is machine
dependent.
• Examples of Mnemonic LDA-
Loads a value from a memory
address. STA- Stores a value in
a memory address. ADD- Adds
value held in a memory address
to the value held in the
accumulator, and you have SUB
and MOV. 15
Third Generation
• High-level computer Eg. Python code
programming language that
tends to be more machine-
independent and programmer-
friendly than the machine
code of the first-generation.

• It uses English-like Eg. C code


statements and mathematical
notations. Examples High-
Level Languages Consists of
C++, C Sharp, Python, JAVA,
Basic, etc

16
Fourth Generation

• High level Eg
language used for SELECT FROM
report generators Student, Lname,
and query Fname WHERE city
languages. It = “Spanish Town
reads and process
data and place ORDER BY LNAME
results in report
form. It is non-
procedural and it 17

is machine
Fifth Generation

• Goes into the realm of Artificial


Intelligence – siri, Alexa, Cortana,
google (voice recognition systems).
Denotes developments in computer
design to produce machines with
artificial intelligence

18
Examples of
Programming Languages
• PASCAL
• BASIC4
• C
• PYTHON
• C# (C Sharp)
• Visual Basic

• In this module we will be using PYTHON and C


19
Tutorial Activity

• For each example on the previous slide


classify them according the different
paradigms. Note that one example may
fall into more than one category.

20
Answer

21
Software Development Life Cycle
versus Program Development Cycle

• Each day most of us interact with a software


system to carry out some activity. For example
you applied online to UTech, you use your smart
phones to access your bank account, shop online
just to name a few.
• How do you think of this is possible?

22
Software Development Life Cycle
versus Program Development Cycle

• All of this is made possible through the


use software systems. These systems
must be conceptualized, developed and
then put into use (deployed).
• To do this a systematic approach is
used.
• The steps used in this systematic
approach are know as the Software
Development Life Cycle (SDLC). 23
The software
Development Lifecycle
• More formally stated, the SDLC is a
series of well-defined steps that should
be followed when a system is created or
being changed. It represents the big
picture of what happens during system
creation or modification.

• The steps are as follows:


24
The SDLC Cont’d…

• The System Development Life Cycle is


comprised of 5 steps, namely:
• Analyze the current system
• Design the new system
• Develop the new system
• Implement the new system
• Maintain the system

25
Analyze the Current
System

• This phase involves end users and IT


specialists working together to gather,
understand, and document the business
requirements for the proposed system.

• Simply put, we want to identify all the


activities the software should be able to
perform.
26
Tutorial Activity

• List some of the activities you are able


to perform using the following:
• UTech’s Portal
• The ATM

27
Activities - UTech’s
Portal
Drop module
• Apply online for
Add module
Select modules
studentship
View time table • Generate time
Access online classes
table
View accounting transactions
Send email • View calendar of
Access online library
events
Enter grades
Edit grades
Print class list

28
Activities – ATM Machine

• Withdraw funds
• Deposit funds
• Check balance
• Transfer funds
• Pay bills
• Buy credit

29
Analyze the Current
System
• The activities you listed were identified
in the Analysis phase of the software
development phase

30
Design the New System

• In this phase you build a blue print of how the


proposed system will work. If you were
building a house the first thing you would do is
to design on “paper” (hard or soft copy). The
same concept applies to software development.

• So what do you think are some of the elements


we would need to design?
• Write your answers on the next slide
31
Tutorial Activity –
Elements of Design
• High Level Design

• Low Level Design

32
Develop the new System

• Take all of your detailed design


documents from the design phase and
transform them into an actual system

33
Implement the New
System
• Distribute the system to all of the
knowledge workers and they begin
using the system to perform their
everyday jobs. This is also referred to
as deployment

34
Maintain the New
System
• Monitor and support the new system to
ensure it continues to meet the business
goals

35
First, Do It By
Hand!
• Upon being handed a problem, you
may first want to start coding – don’t!
• First solve the problem by hand.
• If you can’t do that, then you can’t
code it.

36
The PDC

37
The Program
Development Cycle (PDC)
• Among the third and fourth step in the SDLC is
the design (third step) and development (fourth
step) of computer programs (Application layer).
Programmers carry out these steps.
• Just like the SDLC, we follow a series of steps
or phases to develop a program. These steps
are called the program development life cycle.
The program development life cycle is a set of
steps or phases that are used to develop a
program in any programming language.
38
Steps of the PDC
• The steps are outlined as follows:
• Identify the input, processing, output and storage
requirements (IPOS)
• Develop the logic for the program - using an algorithm
• Test the logic for correctness – using a trace table
• Write the program using a programming language
• Test and debug the program
• Complete the program documentation
• Internal – comments inside the code
• External – outside the code for example a flowchart or
pseudo-code, IPO chart
39
Algorithms & Trace
Tables
• An algorithm is a finite sequence of instructions that
provides the solution to a problem. It is finite
because the solution must have an end point.
• A trace table is a technique used to test an
algorithm and predict step by step how the
computer will run the algorithm. It can be used to
understand or predict what an algorithm is doing
and to identify potential logic errors

• We will explore algorithms and trace tables in


future lessons
40
SDLC and PDC

• So what then is the difference between


the SDLC and the PDC?

• Please write your answer on the next


slide

41
Answer

<< Write your answer here and then


remove the angled braces>>

42
We will be using the steps in the PDC
to develop our programming solutions

43
What is PYTHON
• PYTHON is a general-purpose high level computer
programming language that allows programmers
to create applications, web pages and many other
type of software. It is used as a scripting
language and a programming language.
• Use the link below to broaden your knowledge
about Python

• https://www.tutorialspoint.com/history-of-python
44
C Language

• C is a general-purpose programming language


• It is machine-independent, structured programming
language which is used extensively in various
applications.
• was the basic language to write everything from
operating systems (Windows and many others) to
complex programs like the Oracle database, Git,
Python interpreter and more.
• If you know 'C,' you can easily grasp the knowledge
of the other programming languages that uses the
concept of 'C'
• Use the link below to broaden your knowledge about
45

C
In the Tutorial

• Review Lecture and answer tutorial


questions found on previous slides

46
In the “Lab”

• Install Python and C on your personal


computers. Identify online version of
both software that you might find
useful.

47
Next Class

• Data Manipulation in Memory

48

You might also like