Introduction to Programming
This paper introduces computer programming in C# – the exciting challenge of creating software and designing artificial worlds within the computer. You will learn how to create software in Visual Studio to solve problems and learn the fundamentals of writing computer code. The paper also provides brief introductions to important topics in computer science, such as databases and computer networks.
The learning outcomes for this paper are linked to Washington Accord graduate attributes WA1-WA11. Explanation of the graduate attributes can be found at: https://www.ieagreements.org/
Resources in the form of lecture notes, videos of lectures, course outline, background material, various user guides, lab and test sign-ups, practice tests, sample code, data files and weekly quizzes will be made available through the course Moodle website. Also available on the course Moodle website will be support through various interactive forums. Class attendance is expected. The lecture material, tutorials and laboratory practicals are all integral parts of the paper. Failure to attend any of these means the student may miss material not presented elsewhere. Students are responsible for all material covered in class.
Event Name | Day | Start Time | End Time | Location |
---|---|---|---|---|
Lecture 1 | Tue | 15:00 | 16:00 | L.G.01 |
Lecture 2 | Wed | 12:00 | 13:00 | L.G.01 |
Lecture 3 | Thu | 15:00 | 16:00 | L.G.02 |
Laboratory 1 A | Tue | 13:00 | 14:00 | R.G.10 / R.G.11 |
Laboratory 2 A | Thu | 18:00 | 19:00 | R.G.10 |
Laboratory 1 B | Tue | 18:00 | 19:00 | R.G.10 |
Laboratory 2 B | Fri | 13:00 | 14:00 | R.G.10 / R.G.11 |
Laboratory 1 C | Wed | 09:00 | 10:00 | R.G.10 / R.G.11 |
Laboratory 2 C | Fri | 15:00 | 16:00 | R.G.10 / R.G.11 |
Tutorial 1 A | Mon | 10:00 | 11:00 | K.B.01 |
Tutorial 2 A | Wed | 10:00 | 11:00 | K.B.07 |
Tutorial 1 B | Tue | 11:00 | 12:00 | K.3.10 |
Tutorial 2 B | Thu | 14:00 | 15:00 | K.3.10 |
Tutorial 1 C | Tue | 09:00 | 10:00 | MSB.1.21 |
Tutorial 2 C | Thu | 17:00 | 18:00 | K.B.12 |
Tutorial 1 D | Tue | 12:00 | 13:00 | K.B.01 |
Tutorial 2 D | Thu | 12:00 | 13:00 | K.B.01 |
Tutorial 1 E | Mon | 14:00 | 15:00 | MSB.1.20 |
Tutorial 2 E | Fri | 11:00 | 12:00 | K.B.07 |
Tutorial 1 F | Tue | 17:00 | 18:00 | K.B.07 |
Tutorial 2 F | Fri | 10:00 | 11:00 | K.B.07 |
Tutorial 1 G | Mon | 16:00 | 17:00 | K.B.07 |
Tutorial 2 G | Thu | 10:00 | 11:00 | K.B.12 |
Topic |
---|
Introduction |
C# and Visual Studio |
Number Representation |
Program Design and Graphics |
What is Computer Science? |
Selection |
Computer Hardware |
Repetition |
Problem Solving |
Console Programming |
Methods |
Text Files |
Arrays |
Lists and Structs |
Data Structures |
Databases |
Software Engineering |
Operating Systems |
Computer Networks |
Cyber Security |
Machine Learning |
Human-Computer Interaction |
Computational Complexity |
CS in Industry |
Exam Preparation |
Week | Topics | Additional Information | ||
---|---|---|---|---|
Paper | University | Beginning | ||
1 | 9 | Mon 26 Feb |
|
Tutorial and Lab signups |
2 | 10 | Mon 4 Mar |
|
|
3 | 11 | Mon 11 Mar |
|
|
4 | 12 | Mon 18 Mar |
|
Practical Test 1 Wed afternoon |
5 | 13 | Mon 25 Mar |
|
|
6 | 14 | Mon 1 Apr |
|
Written Test in Lecture C |
7 | 15 | Mon 8 Apr |
|
|
8 | 16 | Mon 15 Apr | Teaching Recess Week | |
9 | 17 | Mon 22 Apr | Teaching Recess Week | |
10 | 18 | Mon 29 Apr |
|
Practical Test 2 on Wed afternoon |
11 | 19 | Mon 6 May |
|
|
12 | 20 | Mon 13 May |
|
|
13 | 21 | Mon 20 May |
|
Practical Test 3 Wed afternoon |
14 | 22 | Mon 27 May |
|
|
15 | 23 | Mon 3 Jun | Study Week | |
16 | 24 | Mon 10 Jun | Exam Week | |
17 | 25 | Mon 17 Jun | Exam Week |
There is no required textbook for this paper. A recommended textbook is:
'Starting out with Visual C#' by Tony Gaddis (any edition is fine)- Perform basic application development using event-driven programming of graphical user interfaces or console programming. (WA1)
- Design, build and execute applications using an Integrated Development Environment. (WA3)
- Apply a broad range of programming constructs and language supported data structures to process data. (WA5)
- Explain in general terms a range of foundational computer science concepts, such as number systems, file systems, and algorithms. (WA1)
- Apply the computing principles and examples learned to new problems. (WA2)
The final exam makes up either 33% or 67% of the overall mark.
Assessments | Due Date | Percentage of overall mark | Compulsory | Link to Learning Outcome |
---|---|---|---|---|
Pop Quiz | 1 | |||
Pop Quiz Mark | - | 1,2,3,4,5 | ||
Practical Tests | 35 | |||
Practical Test 1 Submission (5%) | 20 Mar 2024 | - | 1,2,3,4,5 | |
Practical Test 2 Submission (15%) | 01 May 2024 | - | 1,2,3,4,5 | |
Practical Test 3 Submission (15%) | 22 May 2024 | - | 1,2,3,4,5 | |
Practicals | 11 | |||
Week 1 Practical | - | 1,2,3,4,5 | ||
Week 2 Practical | - | 1,2,3,4,5 | ||
Week 3 Practical | - | 1,2,3,4,5 | ||
Week 4 Practical | - | 1,2,3,4,5 | ||
Week 5 Practical | - | 1,2,3,4,5 | ||
Week 6 Practical | - | 1,2,3,4,5 | ||
Week 7 Practical | - | 1,2,3,4,5 | ||
Week 8 Practical | - | 1,2,3,4,5 | ||
Week 9 Practical | - | 1,2,3,4,5 | ||
Week 10 Practical | - | 1,2,3,4,5 | ||
Week 11 Practical | - | 1,2,3,4,5 | ||
Written Test | 10 | |||
Written Test | 04 Apr 2024 | - | 1,3,4,5 | |
Quizzes | 5 | |||
Quiz 1: Syllabus Quiz and Visual Studio Concepts | 11 Mar 2024 | - | 1,2,3,4,5 | |
Quiz 2: Calculations and Number Representation | 18 Mar 2024 | - | 1,2,3,4,5 | |
Quiz 3: Selection and Computer Science Concepts | 25 Mar 2024 | - | 1,2,3,4,5 | |
Quiz 4: Repetition and Computer Hardware | 01 Apr 2024 | - | 1,2,3,4,5 | |
Quiz 5: Algorithmic Problem Solving, Compilers & OS | 07 Apr 2024 | - | 1,2,3,4,5 | |
Quiz 6: Methods | 28 Apr 2024 | - | 1,2,3,4,5 | |
Quiz 7: Text Files | 05 May 2024 | - | 1,2,3,4,5 | |
Quiz 8: Arrays | 12 May 2024 | - | 1,2,3,4,5 | |
Quiz 9: Lists | 19 May 2024 | - | 1,2,3,4,5 | |
Quiz 10: Strings and Listboxes | 26 May 2024 | - | 1,2,3,4,5 | |
Quiz 11: CS Topics (Optional, use for exam prep) | 02 Jun 2024 | - | 1,2,3,4,5 | |
Tutorial Handins | 5 | |||
Tutorial Handin Mark | - | 1,3,4,5 | ||
Exam | 33 | |||
Exam | - | |||
Assessment Total: | 100 |
An overall mark of 50% is required for a pass, with a minimum of 40% in the final exam. An RP grade will not normally be accepted as fulfilling a prerequisite for a more advanced paper.
Samples of your work may be required as part of the Engineering New Zealand accreditation process for BE(Hons) degrees. Any samples taken will have the student name and ID redacted. If you do not want samples of your work collected then please email the engineering administrator, Natalie Shaw ([email protected]), to opt out.
The practical tests will test your individual understanding of the programming skills that you have been practicing in the laboratory exercises. NOTE: Due to the size of the class, practical tests may be run in multiple sessions. The tests for each session are different, but are similar in material and level of difficulty.
The written test will test the material covered up to that point. Details about the test will be given out in lectures prior to the test.
Tutorial exercises are completed in each tutorial over the semester. Each tutorial involves exercises that you should read before going to the tutorial. Tutorial exercises will be worked through during the tutorial, under the guidance of the tutor. You will be asked to attempt an exercise in a small group and hand in your attempt in the tutorial. You will receive either a 0 or a 1 for your attempt at the tutorial exercise, a 0 being an unsatisfactory attempt and a 1 being an attempt to the satisfaction of the tutor.
Moodle Quizzes are completed each week over the semester. You can resubmit moodle quizzes until you reach 100%.
Practical Exercises are completed each week in the computer labs. Each week you will be asked to design or modify a simple program in your laboratory sessions. After you have implemented a program, you will discuss it with your demonstrator in the lab, and will be given a mark for it.