• No results found

CPA1415 00 Preliminaries

N/A
N/A
Protected

Academic year: 2021

Share "CPA1415 00 Preliminaries"

Copied!
19
0
0

Loading.... (view fulltext now)

Full text

(1)

Computer Programming

and Applications

ENGG1111A

(2)

We are:

George Mitcheson [email protected] Office: HW504 Tel: 2859 7068 Consultation: Thurs 12:30–14:30 Li Changjian [email protected] Office: CB401 Tel: 6239 4395 Consultation: Fri 14:00 – 16:00 Find us at consultation times Or

make an

appointment

to see us at any other time Jolly Cheng [email protected] Office: CB319 Tel: 2857 8263 Consultation: Mon 12:30 – 14:30 Wang Xiaoke [email protected] Office: HW335A Tel: 2859 2713 Consultation: TBD mid-Sept

(3)

What will you learn?

A computational way of thinking about problems and their solutions

How to formulate problems in such a way that computers can help you solve them

How to write programs in

C++ to provide those solutions

(4)

Computer Programming

When we write a program in a particular language, we say we are

coding

or

writing code

in that language.

But coding is not the most important part of programming!

Before we write code we need to:

examine, analyse and understand the problem work out a solution in the form of an

algorithm

check that the solution works under a range of conditions Before we write code we need to:

examine, analyse and understand the problem work out a solution in the form of an

algorithm

check that the solution works under a range of conditions

Then we translate our solution into the programming language and write the code

(5)

"I hate programming!!"

If you ever start to hate programming, you are probably skipping all the

middle steps and trying to jump straight into writing code.

We hope you will enjoy the

process

of solving problems as well as reaching a final solution

(6)

Why C++?

The course is not specifically about C++. If you master general programming concepts using C++, you can apply them in many other languages

C++ is a popular and powerful industrial-strength language. It is not a toy language.

Yes, it is easy to get into trouble in C++. You need to think clearly, but this will also help you become a good programmer!

A few of many many

applications written in C++ that you might know:

Photoshop Acrobat

Amazon.com Amadeus iPod UI

Google search engine Google Chrome

Microsoft Office

Microsoft Internet Explorer Microsoft Windows

(actually almost everything from Microsoft)

Firefox

Thunderbird

World of Warcraft ...

A few of many many

applications written in C++ that you might know:

Photoshop Acrobat

Amazon.com Amadeus iPod UI

Google search engine Google Chrome

Microsoft Office

Microsoft Internet Explorer Microsoft Windows

(actually almost everything from Microsoft)

Firefox

Thunderbird

World of Warcraft ...

(7)

Applications

We deliver our solution to end-users in the form of

application

software

– software that helps users achieve their goals

We deliver our solution to end-users in the form of

application

software

– software that helps users achieve their goals

There are many classes of

applications - as many as there are classes of problems

needing a solution

Financial applications E-commerce systems Electronic media apps Games

Enterprise applications Graphics applications

(8)

Learn how…

http://www.cs.hku.hk/programme/courses-offered.jsp

Computer Programming and Applications is your first step!

… and many more

(9)

Objectives. Skills you will gain

Ability to analyze simple problems and derive solutions, providing a logical flow of instructions.

Problem Solving

Ability to use and construct functions for structured computer programs.

Application development

Competence in the use of various data structures in program development.

(10)

Objectives. Skills you will gain

Ability to identify and correct different types of programming errors. Debugging

Competence in program testing. Testing

(11)
(12)

Lectures:

schedule may vary slightly depending on the pace of the class

Thursday, 10:30-12:20 LE4

Week Topic

1 Introduction and C++ Basics

2 Data types, Variables and Expressions 3 Flow of Control: Decision and Iteration 4 Functions

5 Public holiday

6 Arrays

Reading Week

7 Strings and File I/O

8 (Oct 30) Quiz and Introduction to Assignment 2 9 Complex Data Types and Intro to Classes 10 Pointers

11 Linked List and Dynamic arrays 12 Review and/or selected topics

(13)

We do not assume any previous programming experience.

Learning to program requires hands-on practice. We give you lots of practice in laboratory sessions.

Laboratory sessions run every Friday

except for the first week of

classes

. This week we will have class on Friday in CPD-LG.10

After Week 1, our lab sessions are every Friday,12:30-1:20pm, in:

HW312 (62 students max) HW311 (39 students max) HW335 (36 students max)

Next week we will post a sign up page for you to select your laboratory

(14)

Laboratory location

The CS teaching laboratories HW312, HW311 and HW335 are all on the 3rd Floor of the Haking Wong Building.

You can also use the laboratories for your own work

You will need a CS computer account to access the CS lab facilities. Please get this before our first lab session as shown on the next slide:

(15)

Getting your CS account

Collect it online here:

https://intranet.cs.hku.hk/csintranet/newstudent.jsp

Retrieve your CS username and password using your HKU

Portal UID and PIN.

You must do this before the first laboratory session.

(16)

References

Reference text

Problem Solving with C++, Walter Savitch, Pearson, International Edition, 8/E

Problem Solving with C++, Walter Savitch, Pearson, 9/E

Useful online references:

C/C++ Reference: http://en.cppreference.com/w/

(17)

Assessment

Coursework

50%

3 Individual programming assignments. They are weighted as follows: Assignment 1: 10% (Released Sep. 15; Due Oct. 6)

Assignment 2: 15% (Released Oct. 24; Due Nov 14) Assignment 3: 15% (Released Nov. 14; Due Dec. 5)

Marking is automated. Our TAs prepare test cases and your programs are run on those cases. Your mark will be determined automatically based on the number of test cases passed.

If your program cannot be compiled or run, then you will not get any marks.

Please test your programs before submitting them!

1 Quiz worth10% on Oct 30

(18)

Penalties

Plagiarism

First Attempt: 0 marks for assignment

Second Attempt: disciplinary action at Dept. and/or HKU level

Don't copy!!

You may discuss the assignments with your classmates but you

MUST write your own solutions.

You must not base your solutions on anyone else's program.

We use plagiarism detection software to check for cases of copying.

Late assignment

(19)

Where to find information and help

Everything will be posted on the course Moodle page All important dates, etc. will be announced in the

News and Announcements Forum

You can post questions in the:

General Discussion Forum Relevant Assignment Forum

Guideline: when you post a question about course material give as much details as possible so we can understand your problem.

For Assignments, please don't post your solution!!

The Department discourages students from asking questions directly through email. Please post in a Forum.

References

Related documents

Usher is designed not only to deliver both security and convenience to end users, but it also leverages the MicroStrategy Analytics Platform to deliver unique and

The thrust of the argument of the United States was that, if the TRIPS Agreement were to apply only to product patent applications filed after expiry of the ten-year transition

• New process — In order for a software license management solution to provide deep visibility and reduce software costs, executive and departmental end users must understand

instruction If you pay D6 x 100 gold and spend the instruction If you pay D6 x 100 gold and spend the next D6 days in the Fighting School, you gain an next D6 days in the

COVID-19 has increased many of the risks facing children and young people, not just in terms of the epidemiological risk, but also in terms of the additional risks that the

The CAMO+ represents an ideal complement to our Aviation Advisory and Aircraft Asset Management services as the technical oversight of aircraft and the cost-controlled maintenance

With MyLab25Gold, any technological innovation and solution has been re-designed to be applied to the most advanced portable system, able to deliver unmatched performance,