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

Lecture1 2024

The document outlines the course information for CSI141 Programming Principles, taught by Tallman Nkgau, including course structure, learning outcomes, assessment criteria, and rules. It emphasizes the importance of programming skills in today's economy and provides details on the Java programming language as the primary tool for learning. Students are encouraged to be proactive, attend lectures and labs, and understand the significance of programming in various fields.

Uploaded by

HAMO
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views25 pages

Lecture1 2024

The document outlines the course information for CSI141 Programming Principles, taught by Tallman Nkgau, including course structure, learning outcomes, assessment criteria, and rules. It emphasizes the importance of programming skills in today's economy and provides details on the Java programming language as the primary tool for learning. Students are encouraged to be proactive, attend lectures and labs, and understand the significance of programming in various fields.

Uploaded by

HAMO
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

COMPUTER

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 DMINISTRIVIA , WHY PROGRAM ?


C HAPTER 1.1 – 1.4
‣ Course info
‣ Course learning outcomes
‣ Course assessment criteria
‣ Course rules
‣ Why program?
https://horstmann.com/bjlo/index.html
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

Course Lecturer Tallman Nkgau


Office: 247/285
Phone: 3552260
Email: [email protected]

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%

Thou shall NOT miss


labs! And Lectures!

©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

▪ Use of cellphones & laptops during lectures


and labs is strongly discouraged.
▪ All students should have a math notebook
and a scribbler.
▪ Graded Labs are to be submitted in the last
10 minutes of the lab. Come prepared.
▪ Cheating & plagiarism will be dealt with
according to university policy.
▪ Listen attentively in lectures.
▪ Check course announcements on CS Moodle
regularly!

12
Academic Dishonesty
UB Revised Academic Honesty Policy for Students 2007, defines
the following:

Cheating : using or attempting to use unauthorized materials, information, or


study aids in any academic work.

Collusion : helping or attempting to help another student commit any act of


academic dishonesty including cheating, plagiarism and/or falsification of data
and information.

Plagiarism : representing the words, ideas and information of another person


as one’s own in any academic work. Work must be the student’s original work
and in the student’s own words, except for quotations from published and
unpublished sources that should be clearly indicated and acknowledged as such.
If in doubt, seek advice from course Lecturer/Teaching
Assistants before submitting work.

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!

Being able to understand a


computer effectively is
essential to almost any
endeavor nowadays -- art,
music, economics, science. Robert Sedgewick

In the new economy,


computer science isn’t an
optional skill, it’s a basic
skill. Barack Obama

▪ To teach a computer new tricks


▪ Do old tricks more efficiently
▪ Be the BOSS of a computer

Programming

15
Programming? Coding? Developing?
Do you want to be a Coder ? Programmer ? or a Developer ?

What is the difference?


https://www.freecodecamp.org/news/programming-coding-developement-whats-the-
difference/

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

▪ A program is a set of instructions, that are written in a language that the


computer understands, to perform a specific task.
▪ Need to know what initial tasks a computer can do
▪ Need to learn the computer’s language aka a programming language
High-level Language
Machine Language Assembly Language for(int i = 0; i < items.length; i++){
01001000 01100101 MOV AX,DATA System.out.print(items[i]);
01101100 01101100 MOV DS,AX if (i < items.length -1 )
01101111 00100000 LEA DX,MSG1 System.out.print(", ");
01010111 01101111 MOV AH,9 }
01110010 01101100 INT 21H
01100100 MOV AH,1 ▪ A compromise How about
▪ Easily understood by ▪ Must be converted to natural
▪ Understood by the the computer machine language
language?
computer ▪ Has to be converted to ▪ At this point, our
English?
▪ People don’t like it machine language solution
Setswana?
at all ▪ People can live with it
17
Why not Natural Language?
▪ I have never had lunch like this before?

▪ The boy saw the man with the binoculars.


▪ I made her duck.
▪ Flying planes can be dangerous.
▪ This sentence is false.
▪ https://youtu.be/nwPtcqcqz00

• Natural language is ambiguous!


• We want instructions that can have exactly one interpretation.
• Computer language statements are designed to NOT be ambiguous.

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

Cons James Gosling

▪ It was not designed to be student friendly


▪ The language has extensive features – can’t all be learnt in one course
▪ Too many Java updates – we require Java version 17 LTS.
Get it from: https://adoptium.net/
21
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
How to pass this course smiling

❑Faculty of Science Special Regulation

23.9 Minimum CA to Qualify for Examinations


23.9.1 A minimum continuous assessment
mark of 40% is required to sit for final
examinations.
.

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!
.

Train your brain to


solve computational
problems…everyday!

24
Summary

❑Know course meeting times. Choose your lab session ASAP


❑Know the course rules.
❑Be active in class and labs.
❑Do your own work! Write your own programs.
❑Know why you are taking CSI141
❑Know how your grade will be calculated at the end
❑Follow up on the evolution of Java and computing
https://www.geeksforgeeks.org/the-complete-history-of-java-
programming-language/

❑ Know why we program!


.

25

You might also like