Programming as Problem SolvingCOMP 1100/1130Semester 1, 2019
Ranald CloustonThe Australian National University
Acknowledgement of Country
I wish to acknowledge the traditional custodians of the land we are meeting on, the Ngunnawal people. I wish to acknowledge and respect their continuing culture and the contribution they make to the life of this city and this region. I would also like to acknowledge and welcome any other Aboriginal and Torres Strait Islander people who are enrolled in our courses.
You can learn more about Acknowledgements of Country here.
COMP1100 Team• Course convener and lecturer
Ranald Clouston
• Second examinerEkaterina (Katya) Lebedeva
• TutorsRicha AwasthyJames BaconDev ChakrabortyZoey ChenJosh CornerJosh GilbertRobert Jeffrey
Jack KellyMadddox Kwo WongTom LaManal MohaniaDavid O’DonohueEric PanDavid Quarel
Peter QuarelRohit RamAlex SmithJack StodartAbigail ThomasXi (Ella) WangYihan (Allie) Zhou
Part One
What is this course?
COMP1100 and COMP1130
• The entry point for study in Computer Science.• A broad course aimed at many different backgrounds and
destinations.• Teaching the fundamentals of algorithms and programming as means
of solving problems.• Introduces many concepts that will be revisited in more depth later in
the CS curriculum.• Uses the programming language Haskell.
COMP1130
• Extends COMP1100 with topics on the mathematical foundations of programming.
• More depth, more work, more 'curiosity-driven'.• Required for students in BAC(R&D).• Assumes ACT Specialist Maths or NSW Maths Extension 1, or
equivalent.• Aimed at mathematically elite students.
Programming Experience
• Many of you will have programmed before, e.g. in high school, or as a hobby.
• Many of you will not have.• Prior programming is not expected in this course.• Nor, in our experience, is it a major advantage: we focus on the
principles and foundations of programming in a way that is very different from most students’ experience.
Mathematical Maturity
• We do expect students to be comfortable with mathematical thinking– abstraction, algorithms, attention to detail
• Building these mathematical skills at the same time as picking up programming skills can be a challenge for some students.
• Students who lack confidence in their mathematics should consider delaying COMP1100 by one semester, to take a course like MATH1005 (Discrete Mathematical Models).
Ongoing vs One-Off Study
• COMP1100/1130 is designed to be an introduction to a broader course of learning in computer science.
• May also be used as a 'taster' of what computer science is like.• But not recommended for students who intend to only do one
computer science course to get useful programming skills.• We recommend COMP1730 (Programming for Scientists) for such
students.
Programming vs Other IT Skills
• COMP1100/1130 completely focused on programming.• Other information technology skills (spreadsheets, presentation tools,
word processing, website design…) are not covered.• We offer COMP1710 (Web Development and Design) and COMP1720
(Art & Interaction in New Media).
Exiting the Course
• Easy to do in the first week, picking another course up.• Moving from 1130 to 1100 possible at any stage, but any marks
received as an 1130 student will stand.• 31 March ‘Census date’ deadline for withdrawal without fees.• 10 May deadline for withdrawal without failure.• Visas – it is not always true that withdrawal from a course without
replacement will violate your visa; talk to Student Services about this if you need information.
Part Two
How do I interact with this course?
2A. How do I get basic information about the course?2B. How do I get the content of the course?2C. How do I practise my skills?2D. How do I get answers to my questions?
Getting Information: Course Website
https://cs.anu.edu.au/courses/comp1100
• Announcements in lectures and on Piazzaforum also.
Getting Content: Lectures
• Introduces the core concepts of the course, and 'live coding' to show you programming in action.
• Tuesday, Cultural Centre Large Event Room, 2:00pm–3:30pm• Thursday, Cultural Centre Large Event Room, 8:30am–10:00am
• Friday, 1130 only, Science Teaching Building 3.07, 10:00am–11:00am
Lecture recordings
https://echo360.org.au
Warning: Use these recordings instead of attending at your own risk.
Getting Content: The Textbook
Thompson, SimonHASKELL: the craft of functional programmingThird edition
• Not required• To buy or not to buy? Depends on the student.• Copies in the library.
Peer
Assisted
Learning
• Students who have done these courses before
• Run 6, hour long mentoring sessions per week (5 for 1100 and 1 for 1130)
• Fun, interactive, problem solving focused sessions to equip you with the skills we have that will help you survive COMP
• We’re your pals, come talk to us about anything!
•Tech support
•Tutors
We are: We are not:
Benefits:Get better grades!
Make friends
Yichen
Cassy Razi Jay
Edmund Cameron
Important info:
Starts week 2 (unlike your tutorials!)
Timetable finalised soon, keep an eye on Piazza and your course website.
No registration required, drop in any day.
Practising Skills: Labs
• You will learn more, and have more fun, in labs than any other part of the course!
• Tutors there to answer questions and guide your learning.• Sign up now at https://cs.anu.edu.au/streams.• 3% of the course linked to attendance and participation in the labs,
and to submission of attempts at lab exercises.• Based on ten best labs
• Basic engagement hurdle can be passed by participating in the labs across the early part of the course.
Practising Skills: Beyond Labs
• Assignments.• Hundreds of exercises in the textbook.• Past exam questions on the website.
• Warning: the course changes over time. Past exams may contain material you are not expected to know, and may miss material you are expected to know.
Getting Questions Answered
• Live questions in lectures extremely welcome!• Tutors also there to answer questions in labs.
- But these questions should be related to the current content.- How to get your questions answered?
• Piazza Forum• Consultations• Email (in rare circumstances)
https://piazza.com/anu.edu.au/spring2019/comp1100comp1130Piazza Forum
Lab 1.24
Start in week 2
Note that Thursday consultations clash with lecture, and Friday consultations clash with 1130 lecture
Building 145 (the new building)
Getting Questions Answered: Email
• Email your tutor only if you have questions specific to your interactions with that tutor (about lab attendance e.g. inability to attend, assignment marking etc.)
• Email the lecturers, instead of using Piazza, only if you have an issue that tutors could not help with or should not see.
- Use [email protected] (read by Ranald and Katya)- Use your ANU address
• For all enquiries not directly related to this course, contact Student Services in person or by email ([email protected]).
Part Three
Miscellaneous Resources
InstallFest
• Organized by ANU Computer Science Student Association (CSSA)
• 6-10pm on Thursday 7 March (in Week 2)• N101 in the CSIT building (#108)• Dinner will be provided
Study Sessions
•Organized by ANU Computer Science Student Association (CSSA)
•Two sessions:- Preparation for mid-term exam- Preparation for final exam
ANUSA CECS Representatives
● Computer Science Rep: Tyrus Caldeira● Engineering Rep: Matilda Dowse● We’re advocates for CECS and do our best
to ensure all CECS students wellbeing● We can help you with anything about CECS,
ANUSA or ANU.● If you have academic, personal, course
issues etc, we are here to help!● Contact us at: [email protected]
https://services.anu.edu.au/business-units/division-of-student-life
• Academic Skills and Learning Centre - teaching students about issues related to academic integrity, writing, study skills, and assignments.
• Access and Inclusion - supporting students, including those with a disability, a medical condition, or those involved with elite sport, to participate fully in their program of study.
• Accommodation Services - helping students find accommodation on and off campus.
• Counselling Centre - providing free and confidential counselling to students and running group wellbeing programs like “Get Up and Go.”
• Health Service – providing health check-ups, travel immunisations, minor surgical procedures, and antenatal nurse care.
• Student Experience and Career Development - supporting students’ transition to higher education study and working with students to develop their employability and ensure they have the skills and knowledge to navigate their future careers.
Part Four
Academic Integrity
Academic Integrity• Plagiarism
the practice of taking someone else’s work or ideas and passing them off as one’s own
• Honesty enhances your learning, reputation, career• Cheating compromises your learning, reputation, career• Academia is sensitive to plagiarism because reputation is everything• Don’t underestimate the chance of detection (we use MOSS!)
• rephrasing, renaming, and reordering won’t change likelihood of detection
• Write all code and documentation by yourself and don’t share it with anyone except your tutor
http://academichonesty.anu.edu.au
Acceptable collaboration
• Exchange ideas freely but don’t work together on shared artefacts that you plan to submit
• Don’t use notes of your collaboration• Leave time between periods of collaboration and the time
when you work on what you will submit
• With lab exercises, where collaboration is acceptable, acknowledge your collaborators in your submitted material
🙁🙁
🙂🙂
🙁🙁
🙁🙁
🙂🙂
Web search
• Syntax• Background
• Solution
Part Five
Course Representatives
43
CECS Course RepresentativesWhy become a course representative?
• Develop skills sought by employers, including interpersonal, dispute resolution, leadership and communication skills.
• Become empowered. Play an active role in determining the direction of your education. • Become more aware of issues influencing your University and current issues in higher
education.• Ensure students have a voice to their course convener, lecturer, tutors, and college.
Roles and responsibilities:
• Act as the official liaison between your peers and convener. • Be creative, available and proactive in gathering feedback from your classmates. • Attend regular meetings, and provide reports on course feedback to your course convener
and the Associate Director (Education). • Close the feedback loop by reporting back to the class the outcomes of your meetings.
44
CECS Course RepresentativesWant to be a course representative? Nominate today!
Please contact your convenor by 4th March to nominate yourself as a course representative.
ANUSA and PARSA offer course representative training on 12th March to give you skills to be an effective course representative.
Contact ANUSA President, Eleanor Kay, for more information: [email protected]
Course Representatives in COMP1100/1130
• We are looking for 5 course representatives!• Looking for diverse representation – 1100 and 1130, male and female,
Australian and international, different degrees etc.
• If you are interested, please submit your application to [email protected] before Friday week 1.
• Write why you will be a good course representative. Describe your background or anything that might be relevant.
• We will announce the course representatives in week 2.