0% found this document useful (0 votes)
1 views36 pages

Computer Programming

The document outlines a training program in programming fundamentals and techniques, aimed at equipping doctoral students with essential programming skills for research. It includes a structured curriculum covering topics from basic programming concepts to advanced data tools and collaboration practices. The program emphasizes open-source tools and a hybrid teaching approach, combining online resources with in-person workshops.

Uploaded by

fmrayhy
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)
1 views36 pages

Computer Programming

The document outlines a training program in programming fundamentals and techniques, aimed at equipping doctoral students with essential programming skills for research. It includes a structured curriculum covering topics from basic programming concepts to advanced data tools and collaboration practices. The program emphasizes open-source tools and a hybrid teaching approach, combining online resources with in-person workshops.

Uploaded by

fmrayhy
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/ 36

Programming

Fundamentals and
lllllll

Techniques
Presented by: Dr. Karima
Introduction
Researchers today face a world rapidly reshaped
by programming, artificial intelligence, and
cutting-edge technologies, necessitating
constant adaptation. Programming, now the
cornerstone of modern innovation and scientific
advancement, has transformed research
methodologies in every field.

As part of this approach, the integration of advanced concepts


such as computational thinking, computational modeling, and
logical reasoning aims to empower doctoral students with a
structured and methodical approach to solve scientific problems.
This training not only allows them to understand the theoretical
foundations of programming languages and data structures but
also to apply them concretely in their research, leveraging tools
and platforms suited to their respective disciplines
Training Objectives
Acquire Core Competencies
Enable doctoral students to acquire essential programming
competencies for human-computer interaction in research contexts.

Strengthen Computational Thinking


Enhance logical reasoning to analyze, structure, and solve complex
problems efficiently.

Master Data Tools


Gain expertise in database manipulation and analysis using
programming techniques.

Foster Collaboration
Acquire skills in collaborative programming and promote the use of
open-source languages like Python.
Training Program Structure
Part 1: Introduction to Computer Programming
Fundamentals using visual language (Blockly).

Part 2: Basic Programming Concepts in Python


Bridging visual to text-based coding with Python.

Part 3: File and Database Handling


Managing files and databases (SQL, NoSQL) with Python.

Part 4: Structured, Modular, and OOP


Designing scalable programs with functions, modules, and OOP.

Part 5: Collaboration and Best Practices


Debugging, testing, and collaborative development with GitHub.
Tailored Training Paths

Humanities and Social Sciences (HSS)


Parts 1, 2, and 3 are mandatory, focusing on programming
fundamentals and basic development tools. Parts 4 and 5 are
optional, based on individual research needs for advanced
concepts.

Science and Technology (ST)


Parts 1 and 2 are optional, as these students typically have
prior programming knowledge. Parts 3, 4, and 5 are
mandatory, covering advanced concepts and tools for complex
scientific research.
Tailored Training Paths
 HSS

 ST
Teaching Mode

Hybrid Approach
(Online and in person)

The theoretical part, including course materials (books,


presentations, videos, code examples), will be accessible online
via a dedicated platform. The in-person component will involve
workshops led by university instructors, focusing on practical
exercises and mini-projects tailored to group specialties and skill
levels.
Open-Source Tools and
Evaluation

Open-Source Focus Evaluation Criteria


The program Evaluation is hybrid:
emphasizes open-source 20% for the online
tools like Python and its theoretical part (MCQs,
libraries, promoting coding tasks) and 80%
accessibility, for the in-person
transparency, and rapid practical part (50%
skill development. This continuous workshop
fosters an independent, assessment, 30% final
collaborative, and mini-project). Only
innovative learning mandatory parts are
environment. graded, with a minimum
passing threshold.
Part 1:
Introduction to
Computer
Programming
Computer
Programming

What is
Coding?
Coding is like writing instructions for computers
and other hardware. The computer read the
instructions (called programs) and does what you
have asked it to do.
Computer
Programming
Programming is an overall
Coding simply referes to term to describe the entire
writing code, which process of creating software.
instructs a computer to This involves writing code,
carry out an action. designing, testing an
debugging software.
Computer
Programming

Key Concepts

Variables Data Types


Containers for storing different types of data, such Define the nature and behavior of data, such as
as numbers or text. integers, floating-point numbers, and strings.

Operator Control Structures


Symbols for performing mathematical or logical I Conditional statements (if-else) and loops (for,
operations (+, -, *, /). while) that dictate the flow of execution.
Computer
Programming

Key Concepts
Variables
Containers for storing different types of data, such as numbers or text.
Literals
Literals are representations of fixed values in a program maybe : integer , float, Boolean ,
string ,character, collection
Computer
Programming
Key Concepts
Operators

Here's a list of different types of Python operators that we will learn in this
tutorial.
 Arithmetic Operators (+,-,*,/,//,%;**)
 Assignment Operators(=)
 Comparison Operators(<,> ,<=,>=,==,!=)
 Logical Operators( and , or , not)
 Membership operators(in ,not in)
 Bitwise Operators
 Special Operators
Computer
Programming
Key Concepts
Comments

Comments are hints that we add to our code to make it easier to understand.
Python comments start with # for one line and “”” for a lot of lines
Computer
Programming

How Programming?

Requirement Implementatio
Testing Phase
Gathering n
How Programming?

Instructions

 Input output instructions


 Conditional instructions
 The loops
How Programming?

Instructions

 Input output instructions

Input instruction : Serves to introduce data to the


computer the instruction named input().
Output instruction : serves to display data from the
computer to the user , the instruction named print()
How Programming?
How Programming?

Instructions
 Conditional instructions

If (condition is true)
Block 1
Else
Block 2
How Programming?
How Programming?

Instructions
Loops
 For
 While
 repeat
How Programming?
Instructions
Loops
 For
for i in range 10 :
Print(i)
How Programming?

Instructions
Loops
 While (condition is true )
Do something
How Programming?
Instructions

Loops
 Repeat
Something
Untill (condition of stop is ture )
Computer
Programming
TOP 4 PROGRAMMING
LANGUAGES

Python Java C++ JavaScript


Renowned for Object-oriented Object-oriented Language of
its simplicity language language often the web,
and readability, known for its used with essential for
making it an "write once, the .NET front-end web
excellent run anywhere" framework. development,
choice for philosophy. enabling
beginners interactive and
dynamic user
experiences.
Blockly: A Visual Programming
Language

Blockly is a visual programming language that


simplifies coding by allowing users to create
programs using blocks instead of writing
traditional text-based code. This approach is
particularly beneficial for beginners, as it provides
an intuitive and engaging way to learn the
fundamentals of programming.
Blockly: A Visual Programming
Language
Blockly: A Visual Programming Language

if we want to write a program in


python which do the sum of two
numbers integers and display the
result ? The blockly blocks seem
appear like the following picture
The python code semms like the following generated code by blockly visual
language
Blockly: A Visual Programming
Language
Variable Declaration in Blockly
Creating Variables in Blockly
In Blockly, variable declaration follows a visual approach that abstracts the underlying syntax while maintaining
programming principles.
Declaration Process
1.Navigate to the Variables category in the block palette
2. Select the Create variable block
3. Enter a descriptive name that reflects the variable's purpose The variable is now

available for use throughout your program

Naming Conventions
Use clear, descriptive names (e.g., `temperature` rather than `t`)
Follow camelCase or snake_case consistently
Avoid reserved words and special characters
Choose names that indicate the variable's purpose or content
Blockly: A Visual Programming
Language
Variable Declaration in Blockly
Creating Variables in Blockly
Blockly: A Visual Programming
Language
Selection: Decision Points
Selection structures enable decision-making capabilities within programs, allowing execution of
specific code blocks based on evaluated conditions. This creates dynamic responses to varying
inputs or states.

The two primary selection structures in Blockly are:

'If' Blocks
Evaluates a specified condition and executes the enclosed code block only when that condition is true.

if (path_is_clear):
move_forward()

'If-Else' Blocks
Extends functionality by providing an alternative execution path when the condition is false.

if (path_is_clear):
move_forward()
else:
turn_right()
Blockly: A Visual Programming
Language
Iteration: Efficient Repetition
Iteration enables code repetition, a critical capability for efficient programming.
Blockly implements this functionality through several loop structures:
Types of Loops
Repeat Loops: Execute code blocks a predetermined number of times
repeat 4 times:
move forward
turn right 90°

While Loops: Continue execution as long as a specified condition remains true

while (distance_sensor < 10):


move backward

For Loops: Iterate through a range of values or array elements


for i = 1 to 10:
display(i * i)
Email: [email protected]
or
[email protected]

You might also like