Use the Tab and Up, Down arrow keys to select menu items.
An introduction to imperative computer programming using Python. Topics include: expressions, assignment, selection and iteration, structured data (lists, dictionaries, tuples, arrays), functional decomposition, file processing, using library code, and an introduction to object-oriented programming.
Note, if you are enrolling in the BE(Hons) program you must take COSC131. This is an alternative course to COSC121, which is a required course for engineering intermediate and has a special emphasis on numerical computation. In COSC121 you will learn the fundamentals of computer programming using the Python language and can be taken by students who have no previous programming background. Programming is the nuts and bolts of computer science; it is an essential tool but only a small part of the overall subject. Programming involves using a special language to issue a series of instructions to the computer in order to have it solve a particular problem. COSC121 is a prerequisite for all 200-level Computer Science, Computer Engineering and Software Engineering courses and is normally required as preparation for COSC122. * Videos, Not Traditional Lectures *Learning to program is necessarily a hands-on process, and traditional hour-long lectures poorly support hands-on learning. Lectures also proceed at a fixed rate but some students require a much faster or slower pace. And when students discover gaps in their understanding while programming, videos of hour-long lectures are an inefficient way for students to review the lecture-based theory associated with their problem. To fix these problems, we have replaced traditional lectures and associated learning activities with dedicated Learning Modules. Each learning module covers a particular topic (or sub-topic) with a mixture of notes, short videos (10-15 minutes) with examples, and quiz questions to develop and reinforce understanding of a particular programming concept. Students will engage in the learning modules in their own time and place, and preferably they will periodically pause the videos and experiment with the concepts, rewinding as appropriate. The course is designed with one learning module per week in mind. It is important not to fall behind in the material. Each module builds upon earlier modules and it is easy for the work to become insurmountable.
1. Apply with fluency imperative programming to well defined problem definitions [WA1]2. Apply program reasoning and debugging skill [WA2]3. Incorporate third-party program code into solutions [WA1]4. Apply elementary object oriented programming [WA1]5. Implement simple imperative program design for semi-complex problems [WA3]
This course will provide students with an opportunity to develop the Graduate Attributes specified below:
Employable, innovative and enterprising
Students will develop key skills and attributes sought by employers that can be used in a range of applications.
COSC131
Students must attend one activity from each section.
Check your personal timetable on My Timetable. Note that you are welcome to attend extra lab sessions provided there are free machines available.Depending on final student numbers, some of the advertised lab/tutorial streams may not run. Final lab/tutorial options will be available for self-allocation closer to the start of the semester through My Timetable.
Andrew Bainbridge-Smith
Vesper Haven
* Tests and Exams *Tests and exams are sat in computer laboratories around campus. You will be expected to develop and test code during the exams, for which you will have your normal programming tools (VS Code, Wing IDE and Python documentation) available. Questions are in the form as presented in the Learning Modules. Under Departmental Policy, you must obtain a weighted average of at least 45% in the tests and exams to obtain a passing grade. We will apply plussage; students who perform better in the final exam than the test will be awarded the same marks for the test as the exam. As programming is a practical skill, fluency can only be assessed via the test and exam, consequently grades will not be derived under the Special Consideration policy. Please see our additional notes below. for information on how the University Special Consideration rules apply to this course. Students who fail the course on their first attempt of the final exam may attempt a resit exam on Monday 30th June to earn a passing grade. You will receive an invitation for the resit. The maximum grade permitted in this circumstance is a C- grade. * Assignment Quizzes *Two assignments will be set during COSC121. Each assignment will be a series of questions leading to a more complex program than typically presented in the Learning Modules. The purpose of an assignment is to integrate knowledge of a number of programming concepts to solve a problem.* Learning Module Quizzes Participation *Each week you will earn marks by either engaging with the Learning Module Quiz for the week OR by participating in a laboratory session; the choice is yours. In either case you will be working on the weekly Learning Module Quiz.
There are two main options for books to use to supplement the lectures and support your lab work. - "Practical Programming: An Introduction to Computer Science Using Python 3" by Campbell, Gries, Montojo and Wilson, 2nd or 3rd edition. This is available from the bookshop or as an e-copy from https://pragprog.com/book/gwpy3. Our course was originally built around the first edition of this text, but the text and our course have evolved in somewhat different directions since then. However, it is still an excellent text with many good exercises. - "How To Think Like a Computer Scientist'' is available free online at https://runestone.academy/runestone/books/published/thinkcspy/index.html
Course Information on Learn
All work completed within COSC121 tests and exams must be entirely your own. Any contribution from any source not listed on the assessment coversheet constitutes academic misconduct and will be referred to Proctor or Academic Integrity Officer. Please refer Misconduct Procedures, Guide for Students for further information.
The Computer Science department's grading policy states that in order to pass a course you must meet two requirements:1. You must achieve an average grade of at least 50% over all assessment items.2. You must achieve an average mark of at least 45% on invigilated assessment items.If you satisfy both these criteria, your grade will be determined by the following University-wide scale for converting marks to grades: an average mark of 50% is sufficient for a C- grade, an average mark of 55% earns a C grade, 60% earns a C+ grade and so forth. However if you do not satisfy both the passing criteria you will be given either a D or E grade depending on marks. Marks are sometimes scaled to achieve consistency between courses from year to year.
Students may apply for special consideration if their performance in an assessment is affected by extenuating circumstances beyond their control. You can only apply for major assessment items (worth 10% or more). Applications for special consideration should be submitted via the Examinations Office website within five days of the assessment. In line with the University policy on Special Consideration the following advice and rules shall apply for this course: 1. Learning Module Quizzes / Participation – Minor Assessments: You cannot apply for special consideration. Students may make use of the automated extension application system - note this does not extend out beyond the exam study period. 2. Assignment Quizzes – Minor Assessments: Youi cannot apply for special consideration. Students may make use of the automated extension application system - note this does not extend out beyond the exam study period. 3. Mid-Semester Test – Major Assessment: Students granted special consideration for the test will receive the same mark for their test as earned from the final examination. 4. Final Examinations – Major Assessment: Students granted special consideration for the final exam will be offered an alternative examination on a special sitting date. This date is determined by the Faculty of Engineering If you are unable to take the alternative examination you will receive a mark of zero. If you apply for special consideration for the resit/alternative sit examination then you will be awarded the best mark from either your first or second sitting. No further examinations will be offered. The special sitting date for the examination will occur in the week following the examination period – Monday 30th June. Students should keep this in mind when planning holidays or other activities.
Please click HERE for the CSSE Department's policy for the academic remedy of applications for a special consideration for final exams.
Domestic fee $998.00
International fee $5,188.00
* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.
For further information see Computer Science and Software Engineering .