Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming COMP104: Fundamentals and Methodology Introduction.

Similar presentations


Presentation on theme: "Programming COMP104: Fundamentals and Methodology Introduction."— Presentation transcript:

1 Programming COMP104: Fundamentals and Methodology Introduction

2 Objectives How to solve a problem (by computer)
fundamental problem solving techniques How to design an algorithm algorithm design How to write a program in C++ implementation

3 Course description Introduction
C++ basics for Structured (or procedural) Programming Sequential (assignments) Branching (if statement) Looping (while-do statement) Arrays and algorithms Functions (local/global, value/ref), recursion Files Pointers and dynamic objects Linked lists Introduction to OOP (Object Oriented Programming) Classes, objects Abstract data types static mid-term dynamic

4 What can you do after this course?
Program the computer in applications such as the following: Program a simple calculator Program simple computer games Program a simple text editor Program a small inventory system for a small company You will be ready to take on part-time programming jobs during Xmas break!

5 Course organization No any prerequisite for comp104!
Lectures (3 h) (office 3506, Tutorials (1 h) Not compulsary Labs (2 h) Compulsary! See lab policy. Assignments (homework, 3 projects) But it’s a prerequisite for most of CS courses! Textbook: Programming in C++: Lessons and Applications, by Timothy B. D’Orazio

6 A typical weekly schedule
Tu Thur Lectures Sat. Next lab posted on web Mon-Fri Lab session (students encouraged to demo program by end of lab) Sat. midnight Deadline for lab by CASS Course webpage: course.cse.ust.hk/comp104/Password_Only Print out ‘ppt’ with ‘handouts’ option!!! Newsgroup, Facebook? Eclipse tutorial SVG tutorial

7 Grading Mark weighting Labs (10%) Assignments (25%)
Midterm exam (25%), 6th week, 9th October, Sat. 1-3pm Final exam (40%), Dec.

8 Introduction to Computer Systems
Hardware Software

9 Hardware

10 CPU - central processing unit
Makes decisions, performs computations, and delegates input/output requests Memory: Stores information Main memory: RAM, e.g. 256 MB RAM Secondary memory: hard disk, e.g. 20GB Input devices Gets information from the user to the computer Output devices Sends information from computer to the user

11 What is a program? Work Worker Product Instructions Work Computer
A computer program performs a specific task, and may interact with the user and the computer hardware. Human work model: Computer work model: Work Worker Product Instructions High-level lang., easy Low-level, hard Work Computer Product Program A program is a set of instructions

12 What is a (programming) language?
A sequence of instructions A program (in computer language) An algorthm (in human language) A program needs to be written in a language There are many programming languages Low-level, understandable by a computer High-level, needs a translator! C++ is a high level programming language High-level lang., easy Low-level, hard

13 An example: Machine binary language Low-level assembly High-level

14 Levels of programming language
Machine binary language: unintelligible Low-level assembly language Mnemonic names for machine operations Explicit manipulation of memory addresses Machine-dependent High-level language Readable Machine-independent

15 How to translate? A program written in high-level programming language (for example, C++ program) COMPILER (for example, Visual C++) A low-level (machine language) program that is understandable by a computer (for example, a PC) Examples of compilers: Microsoft Visual C++, Eclipse, g++

16 What is a software? The set of all programs or a set of programs
Application software Programs designed to perform specific tasks and are easy to use System software Programs that support the execution and development of other programs Two major types Operating systems Translation systems (compilers & linkers)

17 Common application software:
Microsoft Word, WordPerfect PowerPoint Netscape, IE PhotoShop, Photo-Paint Quick Time Operating System (OS) Windows (DOS, NT, XP, …), Unix (Linux, Solaris, …)

18 We teach C++, Why? C++ is one of the most popular languages 
C++ (originally C) Basic, Pascal, Java, Perl, Cobol, Scheme, Lisp, Smalltalk, Ada, … C++ is portable (runs on PC, Machintosh, Unix, Mainframes …) C++ is widely used in industries (almost by everyone)  C++ is not easy to learn  The most common versions of C++: Microsoft Visual C++ Eclipse g++ (for Unix machines) C++ C

19 Programming or Software Development
Editing (to write the program) Compiling (creates .obj file) Linking with compiled files (creates .exe file) Object files Library modules Loading and executing Testing the program debug

20 Integrated Development Environments (IDE)
Combine all of the capabilities that a programmer would want while developing software (VC++, Eclipse) Editor Compiler Linker Loader Debugger Viewer builder

21 Summary 


Download ppt "Programming COMP104: Fundamentals and Methodology Introduction."

Similar presentations


Ads by Google