01a. Introduction to Programming
01a. Introduction to Programming
What is Programming?
3
Programming Cycle Language translation
and grammar
checking with some
software (compilers)
Save as a
program code
source file, e.g. Compilation
(Build)
“hello.c” Compile +
Assemble
Compilation FAILED!
Use a text editor to write Read error and
high-level program code warning messages,
modify code to retry.
4
Online Tools
There exist online C compilers such as replit.com,
onlinegdb.com, programiz.com etc
• Online platform, great for learners!
• You can practice programming as long as you have
a browser (preferably on Chrome, PC/Mac)
• No excuses not to practice programming!
9
Fundamentals of Programming
• Understand the basic concepts and principles of
programming
6
Why Learn Programming?
• This course is compulsory for all engineering
students. Why?
7
Why Learn Programming?
• Maybe you are interested in...
– Internet-of-Things, Embedded Systems
– Enterprise Systems, e-Commerce
– Fin-Tech, Blockchain, Mobile Payment Systems
– Biomedical and Environmental Innovations
– Network Security, Big Data, Cloud Computing
– Robotics, Artificial Intelligence, Game Industry
• In all these wonderful and exciting engineering
frontiers, software is a crucial component
• Programming is crucial to the creation of software
8
Why Learn Programming?
• Learning programming well will benefit your
future study in your future courses in ANY
department major programs
9
Our Tools – Online Judge System
• An online platform for code submission
• You can submit your completed lab exercises as
long as you have a browser (preferably on Chrome,
PC/Mac)
• We will introduce the tool in detail later
10
Our Tools – Code::Blocks
• An Integrated Development Environment (IDE)
• Project and file management
• Code editing
• Build (Compile + Link) and Run
• Debugging support
• Open source and free!
• We will also introduce the tool in detail later
Other Programming Tools
• Visual Studio Community (Advanced)
– An Integrated Development Environment (IDE)
• Editor + Compiler + Debugger + Other development tools
13