Вы находитесь на странице: 1из 19

Computer Programming

and Applications
ENGG1111A
Course Information

We are:

Li Changjian
cjli@cs.hku.hk
Office: CB401
Tel:
6239 4395
Consultation:
Fri 14:00 16:00

George Mitcheson
georgem@cs.hku.hk

Jolly Cheng

Office: HW504
Tel:
2859 7068

mycheng@cs.hku.hk
Office: CB319
Tel:
2857 8263

Consultation:
Thurs 12:3014:30

Consultation:
Mon 12:30 14:30

Find us at
consultation times
Or make an

appointment
to see us at any
other time

Wang Xiaoke
xkwang@connect.hku.hk
Office: HW335A
Tel:
2859 2713
Consultation:

TBD mid-Sept

ENGG1111A: Computer Programming and Applications

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

makes you smarter

How to write programs in


C++ to provide those solutions
C++ is one of many

programming languages
ENGG1111A: Computer Programming and Applications

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

Then we translate our solution into the programming


language and write the code
ENGG1111A: Computer Programming and Applications

"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

ENGG1111A: Computer Programming and Applications

A few of many many


applications written in C++
that you might know:

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!
ENGG1111A: Computer Programming and Applications

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

Applications
We deliver our solution to end-users in the form of application
software software that helps users achieve their goals
Financial applications
E-commerce systems
Electronic media apps
There are many classes of
applications - as many as there
are classes of problems
needing a solution

Games
Enterprise applications
Graphics applications
many, many more

ENGG1111A: Computer Programming and Applications

Learn how

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

and many more

Computer Programming and Applications is your first step!


ENGG1111A: Computer Programming and Applications

Objectives. Skills you will gain


Problem Solving
Ability to analyze simple problems and derive solutions, providing a
logical flow of instructions.
Application development
Ability to use and construct functions for structured computer
programs.
Simple data structures
Competence in the use of various data structures in program
development.
ENGG1111A: Computer Programming and Applications

Objectives. Skills you will gain


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

Testing
Competence in program testing.

ENGG1111A: Computer Programming and Applications

10

Schedule

11

Lectures: schedule may vary slightly depending on the pace of the class
Thursday,
10:30-12:20
LE4

Week

Topic

Introduction and C++ Basics

Data types, Variables and Expressions

Flow of Control: Decision and Iteration

Functions

Public holiday

Arrays

Reading Week
7
8 (Oct 30)

Strings and File I/O

Quiz and Introduction to Assignment 2

Complex Data Types and Intro to Classes

10

Pointers

11

Linked List and Dynamic arrays

12

Review and/or selected topics

ENGG1111A: Computer Programming and Applications

12

Laboratory sessions
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
ENGG1111A: Computer Programming and Applications

13

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:

ENGG1111A: Computer Programming and Applications

14

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.

ENGG1111A: Computer Programming and Applications

15

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/
C++ Tutorial: http://www.cplusplus.com/doc/tutorial/

ENGG1111A: Computer Programming and Applications

16

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

Final Examination

50%

ENGG1111A: Computer Programming and Applications

17

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
Sorry, we cannot accept late submissions
ENGG1111A: Computer Programming and Applications

18

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.
Do come and talk to us.
ENGG1111A: Computer Programming and Applications

19

Вам также может понравиться