cpa1415 00 preliminaries
DESCRIPTION
CPA1415 00 PreliminariesTRANSCRIPT
Computer Programming and Applications
ENGG1111ACourse Information
ENGG1111A: Computer Programming and Applications
We are:
2
George Mitcheson
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
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
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
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
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...
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⋯⋯
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
⋯
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
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
Schedule
11
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
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
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:
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.
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
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%
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
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