Programming Principles CSI141, Lecture notes of Computer Programming

Here will look at the basic concepts and principles of programming specifically for Java programming but applies still to other programming languages. Here will learn key programming skills and learn how to use the beautiful art of programming to solve real life problems,learn how to use code editor or IDE, learn algorithms and write awesome programs afterwards.

Typology: Lecture notes

2023/2024

Available from 08/09/2024

destroyer-14
destroyer-14 🇧🇼

3 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
https: / / h o r s t m a n n . c o m / b j l o / i n dex.html
CSI141
PROGRAMMING
PRINCIPLES
COMPUTER
SCIENCE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download Programming Principles CSI141 and more Lecture notes Computer Programming in PDF only on Docsity!

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

CSI

PROGRAMMING

PRINCIPLES

COMPUTER

SCIENCE

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. h t ml

Programming Principles TALLMAN^ NKGAU

‣ Course info

‣ Course learning outcomes

‣ Course assessment criteria

‣ Course rules

‣ Why program?

ADMINISTRIVIA, WHY PROGRAM? CHAPTER 1.1 – 1.

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 learning outcomes

‣ Course assessment criteria

‣ Course rules

‣ Why program?

ADMINISTRIVIA, WHY PROGRAM?

5 Course Info

Tallman Nkgau

Office: 247 / 285

Phone: 3552260

Email: [email protected]

Course Lecturer Lectures ・ Mondays: 1500 – 1650, 233-G ・ Thursdays: 1300 – 1450, 230-G 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: CSI Prerequisite: Curiosity

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 learning outcomes

‣ Course assessment criteria

‣ Course rules

‣ Why program?

ADMINISTRIVIA, WHY PROGRAM?

Course learning outcomes 8

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

Course assessment criteria 10

Course assessment

▪ 3hrs Final Examination: 50% ▪ 2hrs Midterm Test: 15% ▪ Lab Tests x 2: 10% ▪ Graded Labs: 20% ▪ Participation: 05% ©https://dilbert.com/ Thou shall NOT miss labs! And Lectures!

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 learning outcomes

‣ Course assessment criteria

‣ Course rules

‣ Why program?

ADMINISTRIVIA, WHY PROGRAM?

Academic Dishonesty 13

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.

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 learning outcomes

‣ Course assessment criteria

‣ Course rules

‣ Why program?

ADMINISTRIVIA, WHY PROGRAM?

Programming? Coding? Developing? 16 Do you want to be a Coder? Programmer? or a Developer? What is the difference? DEVELOPING PROGRAMMING YOU ARE HERE! CODING https://www.freecodecamp.org/news/programming-coding-developement-whats-the- difference/ Write code

Problem solving

App development life cycle

Programming 17 ▪ 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 Machine Language 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 Assembly Language MOV AX,DATA MOV DS,AX LEA DX,MSG MOV AH, INT 21H MOV AH, High-level Language for(int i = 0 ; i < items.length; i++){ System.out.print(items[i]); if (i < items.length - 1 ) System.out.print(", "); } ▪ Understood by the computerPeople don’t like it at allEasily understood by the computerHas to be converted to machine languagePeople can live with itA compromiseMust be converted to machine languageAt this point, our solution How about natural language? English? Setswana?

Which high-level Language? 19 ▪ Not all high-level languages are created equal. ▪ Should we all speak English? German? Zulu? French? ▪ Think of programming languages as tools Machine Language Assembly Language High-level Language Hardware BASIC C FORTRAN ALGOL COBOL^ LISP^ C++ (^) JAVA ADA (^) JAVA PYTHON Ease of use C#

Which language? – popularity contest… 20

https://www.tiobe.com/tiobe-index/