Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
14 views

01a. Introduction to Programming

Uploaded by

0987987972
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)
14 views

01a. Introduction to Programming

Uploaded by

0987987972
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/ 13

Introduction to Programming

What is Programming?

• Computer – A machine that processes data according to


instructions
– E.g. PC, smartphone, mainframe, game console, …
– Data: user inputs, text, keystrokes, audio, video, etc.
– Instructions: programs, apps, etc.

• Computer Program – A set of instructions that tells a


computer how to process data

• Programming – Writing sets of instructions in some


languages that tell computers what to do
2
Programming Languages
11000100101010010100101111101010
Machine
The action is
Language Inconveniently, machines only speak their called
mother tongue, usually in binary codes. “Assemble”.

add eax, ebx


Assembly
Language Assembly language is a nicer one. Yet, it is The action is
all not human friendly. called
“Compile”.

total = principal + profit * 0.9;


High-level
Programming
As a human programmer, we usually write
Language
in high-level programming languages.

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.

NO! Check results and


YES, modify code, i.e., debugging
Bingo! Is the
result Generate object code
and save the target in a
correct?
machine executable file,
e.g. “MyApp.exe”
Program testing Execution

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

• Understand and memorize the syntax of a programming


language

• Turn your idea/solution into equivalent instructions

• Know what APIs (Application Programming Interface) are


available and learn how to use them

6
Why Learn Programming?
• This course is compulsory for all engineering
students. Why?

• Why do I need to learn programming?

• Is this course only important to those who want to


study Computer Science?
– The answer is NO

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

• So please work hard in this course!

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

– VS Community Edition is free to download


• Sign in using CUHK CWEM Microsoft O365 account

– More tools from Microsoft


(Free!)
• https://visualstudio.microsoft.com/free-developer-offers/
• Sign up with CUHK CWEM email address, or consult ITSC website

– Not needed to do your lab exercises


12
Reading Assignment
• C: How to Program, 8th ed, Deitel and Deitel
• Chapter 1 Introduction to Computers
– Sections 1.1 – 1.5, 1.9

13

You might also like