Program Overview
WCOM1010 Fundamentals of Computer Science
Unit Description
This unit studies programming as a systematic discipline and introduces more formal software design methods. Programming skills are extended to include elementary data structures and abstract data types. A strong emphasis is laid on problem solving and algorithms, including aspects of correctness, complexity, and computability.
General Information
- Unit Convenor and Teaching Staff: Senior Teacher Nader Hanna
- Credit Points: 10
- Prerequisites: WCOM115 or WCOM1000
- Corequisites: None
- Co-badged Status: None
Learning Outcomes
On successful completion of this unit, students will be able to:
- Apply enhanced problem-solving skills to develop algorithms.
- Implement programs (from algorithms), showing an understanding of the underlying architecture of the computer.
- Adhere to standard software engineering practices, including documentation, unit testing, and debugging.
- Compare different methods available for the same problem in terms of efficiency and other criteria.
- Demonstrate foundational learning skills, including active engagement in their learning process.
- Communicate disciplinary knowledge using appropriate academic discourses.
Assessment Information
Requirements to Pass
To successfully complete this unit, a student must obtain a numerical overall mark of 50 or more for the unit.
Grading
Students will be awarded common result grades as specified in the Assessment Policy. Students will receive criteria and standards for specific assessment tasks, which will be aligned with the grading descriptors given in Part F of the Assessment Procedure.
Assessment Tasks
| Name | Weighting | Hurdle | Due |
|---|---|---|---|
| Programming Skills Exercise | 25% | No | First attempt: Week 4, Lesson 5; Second attempt: Week 7, Lesson 4 |
| Practical Exam | 45% | No | First attempt: Week 6, Lesson 5; Second attempt: Week 7, Lesson 5 |
| Programming Assignment | 30% | No | Week 7, Monday before 11:55 PM |
Assessment Tasks Details
Programming Skills Exercise
- Assessment Type: Programming Task
- Indicative Time on Task: 20 hours
- Due: First attempt: Week 4, Lesson 5; Second attempt: Week 7, Lesson 4
- Weighting: 25% This exercise is an in-class assessment that consists of in-class coding tasks reinforcing problem-solving and programming skills.
Practical Exam
- Assessment Type: Examination
- Indicative Time on Task: 35 hours
- Due: First attempt: Week 6, Lesson 5; Second attempt: Week 7, Lesson 5
- Weighting: 45% The Practical Exam is an in-class assessment consisting of coding questions and tasks, evaluating students' ability to write code implementing core programming concepts.
Programming Assignment
- Assessment Type: Programming Task
- Indicative Time on Task: 35 hours
- Due: Week 7, Monday before 11:55 PM
- Weighting: 30% Students demonstrate their understanding of coding by completing a programming project, evaluating their ability to design, implement, and present their work effectively.
Delivery and Resources
- Term Dates & Calendar: Details of key dates during the term can be found on the Important Dates calendar.
- Enrolment and Timetables: General enrolment and timetable information is available via the Macquarie University College enrolment dates and instructions page.
- Technology Used and Required: Access to the internet, AppStream, iLearn, Waranara Library catalogue (MultiSearch), and Microsoft Office Suite.
- Using Your Own Device: Students are required to use Windows or Mac devices to study, with access to Office applications and internet browsers.
Unit Schedule
| Week | Lesson | Topic / Content Covered | Assessment Task (if applicable) |
|---|---|---|---|
| 1 | 1 | Java and VS Code | |
| 2 | Revising variables, conditions, and diagnostic | ||
| 3 | Revising loops, arrays, strings, and debugging | ||
| 4 | Revising methods, creating javadocs | ||
| 5 | Importing classes for useful methods, JUnit testing | ||
| ... | ... | ... | ... |
Policies and Procedures
- Academic Appeals Policy
- Academic Integrity Policy
- Academic Progression Policy
- Assessment Policy
- Fitness to Practice Procedure
- Complaints Resolution Procedure for Students and Members of the Public
- Special Consideration Policy
Student Support
- Academic Success: Resources to develop English language proficiency, academic writing, and communication skills.
- Library: Online and face-to-face support to help find and use relevant information resources.
- Student Services and Support: IT support, accessibility and disability support, mental health support, safety support, and social support.
Changes from Previous Offering
None
Course Contact Hours
Weekly contact for this unit will be 10 hours (60 hours in total for Session 3), with 5x2-hour lessons per week, including theory and practical components.
Learning and Teaching Activities
Lessons will include a mixture of activities, with new content and topics presented, and students given problems, practice questions, and other interactive activities to apply knowledge and skills gained.
Unit Specific Texts and Materials
- T. Gaddis, Starting out with Java: From control structures through objects (Pearson), Global Edition (6th).
- Schildt, Herbert, Java: The Complete Reference.
- Ogihara, Mitsunori, Fundamentals of Java Programming.
- Deitel, Paul J., Java how to program. Early objects.
- Johnson, Mark J., A concise introduction to data structures using Java.
- Dale, Nell B.; Weems, Chip.; Joyce, Daniel T. Object-oriented data structures using Java.
- The website Software Technology provides teaching material, including examples, videos, and exercises.
