Lecture1 2024
Lecture1 2024
SCIENCE
CSI141
PROGRAMMING
PRINCIPLES
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Programming Principles T ALLMAN NKGAU
A CKNOWLEDGEMENT :
S LIDES’ THEME FROM
R OBERT S EDGEWICK | K EVIN W AYNE
https://horstmann.com/bjlo/index.html
A DMINISTRIVIA , WHY PROGRAM ?
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Course Info
Lectures
・Mondays: 1500 – 1650, 233-G12
・Thursdays: 1300 – 1450, 230-G5
Labs (MUST choose 1 lab session – max 90 students per session)
・Tuesdays: 0900 – 1200, 1200 – 1500, 1500 – 1800
・Location: 247-293, 247-294, 247-295, 247-296, 247-297
Course title: Programming Principles
Course code: CSI141
Prerequisite: Curiosity 5
Programming Principles T ALLMAN NKGAU
Course Textbook
JAVA CONCEPTS
LATE OBJECTS, 3 RD Edition
CAY HORSTMANN
https://horstmann.com/bjlo/index.html
A DMINISTRIVIA , WHY PROGRAM ?
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Course learning outcomes
Course description
This course aims to introduce students to the basic concepts and principles
of programming using a high-level language. Its primary intention is to
develop key programming and problem solving skills.
Learning outcomes
At the end of the course, you should be able to
▪ Use a code editor to edit and document source code
▪ Develop algorithms to solve basic to moderately complex
computational problems
▪ Write programs in a high-level language to implement
algorithms
▪ Compile, test and debug Java programs
High-level Language = JAVA
8
A DMINISTRIVIA , WHY PROGRAM ?
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Course assessment criteria
Course assessment
▪ 3hrs Final Examination: 50%
▪ 2hrs Midterm Test: 15%
▪ Lab Tests x 2: 10%
▪ Graded Labs: 20%
▪ Participation: 05%
©https://dilbert.com/ 10
A DMINISTRIVIA , WHY PROGRAM ?
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Course rules
Course rules – Do’s and Dont’s
12
Academic Dishonesty
UB Revised Academic Honesty Policy for Students 2007, defines
the following:
13
A DMINISTRIVIA , WHY PROGRAM ?
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
Why program?
▪ “If computers are at all a part of your life, then learning to program is
going to improve your life” – Dave McFarland
▪ Ready made apps are good only if they do what you want!
Programming
15
Programming? Coding? Developing?
Do you want to be a Coder ? Programmer ? or a Developer ?
D EVELOPING
App development life cycle
P ROGRAMMING
Problem solving
Y OU ARE HERE !
C ODING
Write code
16
Programming
▪ is the process of designing and building an executable computer program for
accomplishing a specific computing task. - Wikipedia
18
Which high-level Language?
▪ Not all high-level languages are created equal.
▪ Should we all speak English? German? Zulu? French?
▪ Think of programming languages as tools
BASIC C FORTRAN ALGOL COBOL LISP C++ JAVA ADA JAVA PYTHON C#
Ease of use
High-level Language
Assembly Language
Machine Language
Hardware
19
Which language? – popularity contest…
https://www.tiobe.com/tiobe-index/
20
Java – owned by Oracle
▪ Created in the early 1990s
▪ Designed for the internet
▪ Designed to be safe – automatically checks some errors
▪ Designed to be portable – once converted to appropriate type, can be
executed on Windows, UNIX or Linux without any changes
▪ It is widely used and available
▪ It is a modern language and is in continuous development
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
h t t p s : / / h o r s t m a n n . c o m / b j l o / i n d e x . ht m l
How to pass this course smiling
23
How to pass this course smiling
❑Practice makes perfect.
❑Understand the previous point. Do you?
❑Be active in class and labs.
❑Do your own work! Write your own programs.
❑Be proactive!
.
24
Summary
25