COMP SCI 7007 - Specialised Programming

North Terrace Campus - Semester 1 - 2020

Computational problem-solving with a focus on group learning and practice. Lecture topics cover general solution categories including: brute-force, divide and conquer, dynamic programming, greedy algorithms and search techniques

  • General Course Information
    Course Details
    Course Code COMP SCI 7007
    Course Specialised Programming
    Coordinating Unit Computer Science
    Term Semester 1
    Level Postgraduate Coursework
    Location/s North Terrace Campus
    Units 3
    Contact Up to 5 hours per week
    Available for Study Abroad and Exchange Y
    Assessment Written exam and/or assignments
    Course Staff

    Course Coordinator: Dr Mingyu Guo

    Course Timetable

    The full timetable of all activities for this course can be accessed from Course Planner.

  • Learning Outcomes
    Course Learning Outcomes
    On successful completion of this course students will be able to:

     
    1 Work effectively in problem-solving teams
    2 Develop simple models to solve a variety of real life problems
    3 Apply deliberate practice strategies when learning new skills
    4 Being proficient of coding and testing simple problems

     
    University Graduate Attributes

    This course will provide students with an opportunity to develop the Graduate Attribute(s) specified below:

    University Graduate Attribute Course Learning Outcome(s)
    Deep discipline knowledge
    • informed and infused by cutting edge research, scaffolded throughout their program of studies
    • acquired from personal interaction with research active educators, from year 1
    • accredited or validated against national or international standards (for relevant programs)
    2
    Critical thinking and problem solving
    • steeped in research methods and rigor
    • based on empirical evidence and the scientific approach to knowledge development
    • demonstrated through appropriate and relevant assessment
    1,2,3
    Teamwork and communication skills
    • developed from, with, and via the SGDE
    • honed through assessment and practice throughout the program of studies
    • encouraged and valued in all aspects of learning
    1
    Career and leadership readiness
    • technology savvy
    • professional and, where relevant, fully accredited
    • forward thinking and well informed
    • tested and validated by work based experiences
    3,4
    Self-awareness and emotional intelligence
    • a capacity for self-reflection and a willingness to engage in self-appraisal
    • open to objective and constructive feedback from supervisors and peers
    • able to negotiate difficult social situations, defuse conflict and engage positively in purposeful debate
    1,3
  • Learning Resources
    Recommended Resources
    A Java reference textbook, such as “Big Java” by Cay Horstman.
    Online Learning
    The course uses online discussion boards to provide help and feedback outside the lecture and practical session.
  • Learning & Teaching Activities
    Learning & Teaching Modes
    The course teaches problem solving and programming skills through the use of deliberate practice. Each week the lecture will introduce a problem solving technique and a set of related problems. Student are expected to work on an set of 2 or more problems per week, at the practical session as well as at home.
    Workload

    The information below is provided as a guide to assist students in engaging appropriately with the course requirements.

    Students should work an average of 10-12 hours per week on this course. They will practical sessions and some lecture time to design solutions to their problems, and they will need to complete coding and testing outside the class.
    Learning Activities Summary
    Lectures
    Weeks 1-5 foundational computational problem solving including topics in working with groups, string manipulation in java, simulation, brute-force algorithms, recursion and search, simple algorithmic optimisation, sorting-based problems.

    Weeks 6-12 intermediate computational problem solving including, dynamic programming, greedy algorithms and mapping problems to graph algorithms.

    In addition, the second hour of each lecture session will be devoted to group practice and problem solving and presentation of practice portfolios for marking.

    Practice Sessions
    Participation in practice sessions is assessed by handed up written work and/or solution presentation. All students are expected to attend practice sessions.
    Specific Course Requirements
    Students will also be expected to maintain a portfolio of evidence of their practice (recorded both online and/or on paper) to present for marking in lecture sessions.
  • Assessment

    The University's policy on Assessment for Coursework Programs is based on the following four principles:

    1. Assessment must encourage and reinforce learning.
    2. Assessment must enable robust and fair judgements about student performance.
    3. Assessment practices must be fair and equitable to students and give them the opportunity to demonstrate what they have learned.
    4. Assessment must maintain academic standards.

    Assessment Summary
    Due to the current COVID-19 situation modified arrangements have been made to assessments to facilitate remote learning and teaching. Assessment details provided here reflect recent updates.
    Assessment Task Weighting (%) Individual/ Group Formative/ Summative
    Due (week)*
    Hurdle criteria Learning outcomes CBOK Alignment**
    Diagnostic Exam 5 Individual Summative Weeks 2 3. 1.1 1.2 4.1
    Bi-Weekly practices^ 20 Individual/Pair Summative Weeks 3,5,7,9,11 1. 2. 4. 1.1 1.2 4.1
    5 Prac Exams# 75 Individual Summative Week 4, 6, 8, 10, 12
    Total 100

    ^You will be given several problems. You only need to pick 2 problems to work on. Before you leave the session, you need to show your code to the tutor to receive your mark.
    4/4: passing all test cases
    3/4: passing some test cases; correct logic and clean style
    2/4: reasonable logic and style
    1/4: incomplete logic and poor style

    You are encouraged to form groups of size 2 and adopt the Pair Programming style. Each group only needs one submission.
    Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.

    https://en.wikipedia.org/wiki/Pair_programming

    #First 2: 10.5 marks each. Last 3: 18 marks each. Total 75 marks.

    * The specific due date for each assessment task will be available on MyUni.
     
    This assessment breakdown complies with the University's Assessment for Coursework Programs Policy.

    **CBOK is the Core Body of Knowledge for ICT Professionals defined by the Australian Computer Society. The alignment in the table above corresponds with the following CBOK Areas:

    1. Problem Solving
    1.1 Abstraction
    1.2 Design

    2. Professional Knowledge
    2.1 Ethics
    2.2 Professional expectations
    2.3 Teamwork concepts & issues
    2.4 Interpersonal communications
    2.5 Societal issues
    2.6 Understanding of ICT profession

    3. Technology resources
    3.1 Hardware & Software
    3.2 Data & information
    3.3 Networking

    4. Technology Building
    4.1 Programming
    4.2 Human factors
    4.3 Systems development
    4.4 Systems acquisition

    5.  ICT Management
    5.1 IT governance & organisational
    5.2 IT project management
    5.3 Service management 
    5.4 Security management
    Assessment Related Requirements
    You are required to score a minimum of  40% in your Deliberate Practice component.
    Failure to meet this requirement will result in a capping in your grade at a maximum of 44F.
    Assessment Detail
    Each practical exam consists on three problems that covered the solving skills presented during lectures and practical session. 

    CBOK mapping
    1.1: 4 for prac exams and 4 for progress reports
    1.2: 4 for prac exams and 4 for progress reports
    4.1: 4 for prac exams and 4 for progress reports
    Submission
    Submission of answers to practice and prac exam questions will be via automark. Evidence of practice can be collated in your log book and also summarised and linked-to in weekly handins and/or personal wiki on the course forum. Part of your assessment for practice will consist of questions designed to elicit your understanding of the problems presented as evidence of your practice.
    Course Grading

    Grades for your performance in this course will be awarded in accordance with the following scheme:

    M10 (Coursework Mark Scheme)
    Grade Mark Description
    FNS   Fail No Submission
    F 1-49 Fail
    P 50-64 Pass
    C 65-74 Credit
    D 75-84 Distinction
    HD 85-100 High Distinction
    CN   Continuing
    NFE   No Formal Examination
    RP   Result Pending

    Further details of the grades/results can be obtained from Examinations.

    Grade Descriptors are available which provide a general guide to the standard of work that is expected at each grade level. More information at Assessment for Coursework Programs.

    Final results for this course will be made available through Access Adelaide.

  • Student Feedback

    The University places a high priority on approaches to learning and teaching that enhance the student experience. Feedback is sought from students in a variety of ways including on-going engagement with staff, the use of online discussion boards and the use of Student Experience of Learning and Teaching (SELT) surveys as well as GOS surveys and Program reviews.

    SELTs are an important source of information to inform individual teaching practice, decisions about teaching duties, and course and program curriculum design. They enable the University to assess how effectively its learning environments and teaching practices facilitate student engagement and learning outcomes. Under the current SELT Policy (http://www.adelaide.edu.au/policies/101/) course SELTs are mandated and must be conducted at the conclusion of each term/semester/trimester for every course offering. Feedback on issues raised through course SELT surveys is made available to enrolled students through various resources (e.g. MyUni). In addition aggregated course SELT data is available.

  • Student Support
  • Policies & Guidelines
  • Fraud Awareness

    Students are reminded that in order to maintain the academic integrity of all programs and courses, the university has a zero-tolerance approach to students offering money or significant value goods or services to any staff member who is involved in their teaching or assessment. Students offering lecturers or tutors or professional staff anything more than a small token of appreciation is totally unacceptable, in any circumstances. Staff members are obliged to report all such incidents to their supervisor/manager, who will refer them for action under the university's student’s disciplinary procedures.

The University of Adelaide is committed to regular reviews of the courses and programs it offers to students. The University of Adelaide therefore reserves the right to discontinue or vary programs and courses without notice. Please read the important information contained in the disclaimer.