Programming in a Nutshell

883 views 42 slides Aug 24, 2019
Slide 1
Slide 1 of 42
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42

About This Presentation

my talk at first Egyptian Bioinformatics Competition ^^


Slide Content

Programming in
a Nutshell

Eman Abdelrazik
B.Sc. in Biotechnology
Post-Grade Student at Nile University
Data Analyst at Omicsense

A Computer
Just
Solved
100-Year-Old
Biology Problem!

•3
Road Map

❏Part I : Why Programming?

❏Part II: Programming at a glance!

❏Part III: Programming for Bioinformatics (Bioconductor)

Part I

Why Programming?

•5
Why ?

•6
Data Analysis
Data management
curation & retrieval
& maintatince
Data analysis Data integration
& visualization

•7
Data Management
Server User

•8
Data Integration

•9
Applications
D Data/statistical Analysis
M Modeling
S Software Developing

•10
Define yourself!
User Analyst Developer

Part II

Programming at a glance!

•12

How to design a program?

Release
❏Release
program
❏Iterate steps
for next
version
Problem
❏Understand
problem
❏Design
solution
❏Write a
pseudocode

Code
❏Write
code
❏Test
❏Test with
real-world
users

Systematic Program Design

Programs = Algorithms + Data Structures

•15

Algorithms

❏Step by step list of instructions that if
followed exactly will solve the problem
under consideration

❏General solution

❏Computer automate execution

•16

Algorithms Representation



Could be represented
by:

❏Pseudocode
❏Flowcharts
●Best code is the shortest code

•17
Pseudocode
❏Not a real code but it code be written in
English to divide a big problem into smaller
ones (outline the logic of the problem).

#Problem: sending man to the moon
●Launch
●Navigate to the moon
●Land on the moon

•18

Programming Language

❏Formal language communicates instructions of
a program to the computer.

•19

Programming Language Types

•20

Programming Language Types

•21

Compiler

Source
code
Compiler

Machine
code

Program
Run
“.exe”
Input Output
The file that contains the
instructions written in
the high level language
Ex: Subtitles in movie

•22

Interpreter

Source
code
Input
Interpreter
Output
Ex: Translation in conference

•23
❏An Integrated Development Environment (IDE) is a
software suite that consolidates basic tools required
to write and test software.
Ex: Visual Studio Code, R studio, PyCharm, Jupyter

IDE

•24

IDE

•25

Where do I begin?

Bash
PythonR
Executing Scripts
Statistical Analysis
& Visualization
Coding
Algorithms

•26

•27

Programming Language Structure

How do I construct a
valid sentence?
Syntax
Commands
➔Punctuation
➔Indentation= spacing
➔Ordering
➔Comments
➔Sentence
➔Variables &
values
➔Keywords

•28

Programming Language Structure

What does the sentence mean?
Code LogicSemantics
Syntax is different among programming
languages but logic is the same!

•29

Programming Language Structure

Variable value
keywordStatement

•30


Punctuation

•31

Ordering: in procedures

•32

Ordering: in mathematical operations

P
E
M
D
A
S

•33

Comments

•34

Debugging

❏Syntax error
❏Semantic error

•35

Data Types

❏Boolean
❏String “str” ❏Integer “int”
❏Float
DNA, RNA, protein
sequence
Gene Expression
Level
3.051
(Decimal)

•36

Data Structures

Part III

Programming for Bioinformatics
(Bioconductor )

•38
Bioconductor
Bioconductor Release 3.9. 1741
Software Packages!

•39

Bioconductor

High- throughput Data:


❏DNA sequencing
❏RNA sequencing
❏Microarray
❏Proteomics
❏Imaging
Statistical Analysis &
Comprehension:

❏Large data volume
❏Designed experiments
❏Technological artifacts
❏Complex data
integration

•40

Conclusion
Bioconductor
Data
Information
Knowledge
Wisdom
Understanding
Connectedness
●understand
relations
●understand
patterns
●understand
principles

●Top IDE: http://pypl.github.io/IDE.html

interactive programming:
●https://www.datacamp.com/home
●http://pythontutor.com/
●https://www.w3schools.com/
●https://www.sololearn.com/
●https://runestone.academy/runestone/books/published/thinkcspy/index.
html
●https://scratch.mit.edu/

Ask someone!
●https://askubuntu.com/
●https://stackoverflow.com/
●https://stackexchange.com/
●https://www.biostars.org/
What is unique about each programming language?
https://dafoster.net/articles/2013/01/29/unique-features-of-various-progr
amming-languages/






R
E
S
O
U
R
C
E
S

THANK YOU!
[email protected]





abdrlrazik_eman
emanabdelrazik