Download presentation
Presentation is loading. Please wait.
1
CompSci 230 Software Construction
Course Information S1 2016 V1.1 of
2
Overview In Stage 1, you learned how to write programs to solve small problems. In CompSci 230, we teach programming “in the large” Large software systems have many stakeholders. What will its users want? Can we describe user requirements, accurately and succinctly? Large software systems are very complex. Can we describe the design of a complex software system, accurately and succinctly? Can we be sure that a complex system will do what it is designed to do, and that it will not do anything unintended? In CompSci 230, you will learn a number of incomplete answers to these difficult questions. We will also try to teach you how to “learn how to learn” the technical skills you will need in the future – as a competent computer professional CompSci 230
3
Syllabus Four Themes: The object-oriented programming paradigm
Object-orientation, object-oriented programming concepts and programming language constructs – because, for many important problems, OO design is a convenient way to express the problem and its solution in software. Frameworks Inversion of control, AWT/Swing and JUnit – because many important “sub- problems” have already been solved: such solutions can and should be re-used! Software quality Testing, inspection, documentation – because large teams are designing, implementing, debugging, maintaining, revising, and supporting complex software. Application-level concurrent programming Multithreading concepts, language primitives and abstractions – because even our laptops have multiple CPUs. Quad-core smartphones are now available... CompSci 230
4
Lecturers & Tutors Lecturers Ulrich Speidel (Coordinator) Angela Chang
Week 1-3: OO design in Java; Week 7-9: Software Quality; Office hours: Open door, in 303S.594 Phone: (09) x85282 Angela Chang Week 4-6: Frameworks Office hours: Open door, in 303S.494 Phone: (09) x86620 TBA Week 10-12: Concurrency Tutors Christiaan Swanepoel Harry She Chang Liu CompSci 230
5
Assessments See Practical (20%) Assignments (16%): Assignment 1, 4%, due 4pm Thursday 24 March 2016 (end of 4th week) Assignment 2, 5%, due 4pm Friday 29 April 2016 (end of 7th week) Assignment 3, 5%, due 4pm Friday 20 May 2016 (end of 10th week) Assignment 4, 2%, due 4pm Friday 27 May 2016 (end of 11th week) Hard deadlines! PeerWise (4%): 0.2% each for up to 10 questions authored 0.05% each for up to 20 questions answered 0.05% each for up to 20 questions commented on 1% bonus marks for being in the top 20 of the class by reputation score! Deadline: June 3rd 5 pm Theoretical (80%) Test 15%, 3rd of May, 6: pm, OGGB3/ and FPAA/ (assignment of students to rooms will be announced later) Exam 65%, date and location will be communicated to you in the usual way by the Examinations Office. You must pass the practical (assignments) AND the theoretical (test + exam), in order to pass the course. The practical passline may be lower than 50%! This is a decision of the examiners, so you should sit the exam even if you have poor practical marks. CompSci 230
6
PeerWise assignment You should be able to log in after the first week (once the class roll has stabilized and your UPI has been added). Log in with your normal university password PeerWise is a shared learning resource that all of you create! Use PeerWise as a resource beyond the PeerWise assignment: You can author as many questions as you like. Any (good) question authored will count towards your final score. Good questions attract good feedback, which also counts towards your final score. You can answer as many questions as you like. Any (correct) answer counts towards your final score. You can comment on any question you answer. Again this counts towards your final score. PeerWise will NOT disappear before the exam – so you can use it to prepare for the final exam, too. CompSci 230
7
Assessments (con’t) In case of test clashes:
Let the course coordinator know – we may allocate your test marks to the exam in this case, or let you sit early in quarantine where possible. In case of illness, accidents or emergencies that prevent you from sitting the test or exam, or impair you in its preparation: You should always sit your test & exam, if at all possible. See a registered doctor, dentist, or counsellor as soon as possible. Contact Student Health and Counselling for an appointment to apply for an aegrotat or compassionate consideration. See Late assignment submissions: If you have a medical condition or other emergency which prevents you from completing an assignment on-time, contact the lecturer in charge of the assignment. CompSci 230
8
Tutorials Tutorials are optional, but highly recommended!
Please note: there are no tutorials in the first week of lectures. Your tutorial (lab) section is visible on Student Services Online. Check Student Services Online for times and venues You’re welcome to attend other tutorial sections, but there are only enough seats for the enrolled students -- so don’t be offended if you are asked to leave What happens at a tutorial: You’ll do exercises based on prior lecture material You’ll prepare for the current assignment You’ll discuss sample answers to prior assignments You’ll ask course-related questions, and the tutor will either answer them or “kick them upstairs” – by suggesting you ask this question during lecture! You’ll get the most out of your tutorials if you participate actively. You’ll learn most by “giving it a go”, seeing what happens, and thinking about it. CompSci 230
9
Need Help? Required readings are online, mostly from The Java Tutorials Start today! Read about Object-Oriented Programming Concepts, at If you know Python, read Our primary goal is to help you “learn how to learn technical material.” Try things out - merely listening to lectures will teach you very little. Recommended readings are available in the library or online. The resource page on Canvas has lecture notes, examples, and some other useful resources, including links to software such as Eclipse. Website: Ask your tutors and lecturers for help if you’re “stuck”! Hint: Explore first & find things out for yourself – that’s often quicker than asking us (remember: You outnumber us by about 50:1!). Discover your own solutions to your own problems! Making mistakes is essential for learning – as long as you make them before assignment submission and test/exam. Piazza is available via Canvas to ask questions in an open forum in the class. CompSci 230
10
Reading task (must-do!)
Before the lecture on Friday, read: About the JavaTechnology, in the Getting Started trail of the Java Tutorials; The first two sections (on classes and objects) in the Classes and Objects lesson of the Learning the Java Language trail; Section 2 (on ‘Getting Started’) in java4python v3; The first five subsections (to ‘Import’) of Section 3 in java4python v3. Read to discover an answer to your questions! E.g.: “What is X?” “Why should I care about X?” CompSci 230
11
Policy on Cheating and Plagiarism
Most students don’t cheat and plagiarise, but… …there always seem to be a few who do don’t seem to realise how obvious this is to markers …there’s always a bunch of students with surprisingly good assignment marks right at the bottom of the class when it comes to test + exam. We know who you are ;-) A somewhat embarrassing position to be in. This is what the separate pass requirement is for. So: See Oh, and for the vast majority here who see assignments as a way to learn and deepen their understanding: Do not lend your assignments to others. Never give anyone a copy of your assignment. It is the responsibility of each student to ensure that others do not copy their work. CompSci 230
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.