cpa1415 00 preliminaries

19
Computer Programming and Applications ENGG1111A Course Information

Upload: yip90

Post on 06-Dec-2015

227 views

Category:

Documents


0 download

DESCRIPTION

CPA1415 00 Preliminaries

TRANSCRIPT

Page 1: CPA1415 00 Preliminaries

Computer Programming and Applications

ENGG1111ACourse Information

Page 2: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

We are:

2

George Mitcheson

[email protected]

Office: HW504Tel: 2859 7068

Consultation:Thurs 12:30–14:30

Li Changjian

[email protected]: CB401Tel: 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]: CB319Tel: 2857 8263

Consultation:Mon 12:30 – 14:30

Wang Xiaoke

[email protected]: HW335ATel: 2859 2713

Consultation:TBD mid-Sept

Page 3: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

What will you learn?

3

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

makes you smarter

C++ is one of many programming languages

Page 4: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Computer Programming

4

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

Page 5: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

"I hate programming!!"

5

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

Page 6: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

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!

6

A few of many manyapplications written in C++ that you might know:

PhotoshopAcrobatAmazon.comAmadeusiPod UIGoogle search engineGoogle ChromeMicrosoft OfficeMicrosoft Internet ExplorerMicrosoft Windows(actually almost everything from Microsoft)FirefoxThunderbirdWorld of Warcraft...

A few of many manyapplications written in C++ that you might know:

PhotoshopAcrobatAmazon.comAmadeusiPod UIGoogle search engineGoogle ChromeMicrosoft OfficeMicrosoft Internet ExplorerMicrosoft Windows(actually almost everything from Microsoft)FirefoxThunderbirdWorld of Warcraft...

Page 7: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

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

7

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

many, many more⋯⋯

Page 8: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Learn how⋯

8

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

Computer Programming and Applications is your first step!

⋯ and many more

Page 9: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Objectives. Skills you will gain

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

9

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.

Simple data structures

Page 10: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Objectives. Skills you will gain

Ability to identify and correct different types of programming errors.

10

Debugging

Competence in program testing.

Testing

Page 11: CPA1415 00 Preliminaries

Schedule

11

Page 12: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Lectures: schedule may vary slightly depending on the pace of the class

Thursday, 10:30-12:20 LE4

12

Week Topic1 Introduction and C++ Basics

2 Data types, Variables and Expressions

3 Flow of Control: Decision and Iteration

4 Functions

5 Public holiday6 Arrays

Reading Week7 Strings and File I/O

8 (Oct 30) Quiz and Introduction to Assignment 29 Complex Data Types and Intro to Classes

10 Pointers

11 Linked List and Dynamic arrays

12 Review and/or selected topics

Page 13: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

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

Laboratory sessions

13

Page 14: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

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

14

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:

Page 15: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Getting your CS accountCollect it online here:https://intranet.cs.hku.hk/csintranet/newstudent.jsp

15

Retrieve your CS username and password using your HKU Portal UID and PIN.

You must do this before the first laboratory session.

Page 16: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

ReferencesReference 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/

C++ Tutorial: http://www.cplusplus.com/doc/tutorial/

16

Page 17: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Assessment

17

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

Final Examination 50%

Page 18: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

PenaltiesPlagiarism

First Attempt: 0 marks for assignmentSecond 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

Sorry, we cannot accept late submissions

18

Page 19: CPA1415 00 Preliminaries

ENGG1111A: Computer Programming and Applications

Where to find information and helpEverything 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 ForumRelevant 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.

Do come and talk to us.19