Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
COMP1511 Programming Fundamentals - 2024
Published on the 25 Aug 2024
General Course Information
Course Details & Outcomes
Course Description
In this course, you will learn the fundamentals of how we instruct computers to solve problems.
You will explore the architecture and mechanics of how computers operate and how you can translate real-world problems to computer programs that solve these problems.
The concepts you learn will provide a foundation for your future endeavours in computing and, we hope, will begin to change the way you think about real-world problems.
This course is an introductory course to the basics of computer programming and Computer Science. It is intended as an introduction to studying further in Computer Science or related felds. Topics include:
- Fundamental programming concepts
- Introduction to Computer Science
- The C programming language and use of a C compiler
- Programming style
- Program design and organisation concepts
- Program testing and debugging
Course Aims
The importance of this course lies in its role as the foundation of your programming journey, providing essential knowledge and skills vital for your success in the feld. By focusing on profciency in the high-level programming language C and fostering problem-solving abilities, this course equips you with the fundamental tools and mindset necessary to think like a programmer.
As the frst course in the program, it plays a crucial role in setting the stage for your future learning. It serves as a prerequisite for many of the core courses, ensuring that all students begin with a solid understanding of the fundamental concepts required to progress further. By establishing a common knowledge base and skills, this course ensures that everyone starts on an equal footing and can effectively tackle more advanced topics.
This course intends to guide you through the initial stages of your programming education, imparting technical profciency in C and the ability to approach problems systematically and think critically. By emphasizing problem-solving strategies, debugging techniques, and testing methodologies, the course aims to instill in you a resilient and adaptable mindset that will serve as a solid foundation for your future development as a programmer.
Course Learning Outcomes
|
Course Learning Outcomes |
|
CLO1 : Apply C programming language to solve simple decision, looping, array, and linked list problems programmatically
|
|
CLO2 : Review the produced code against specifcation criteria by applying testing techniques
|
|
CLO3 : Apply basic data structures, such as arrays and linked lists, to solve complex problems
|
|
CLO4 : Read and understand coding solutions.
|
Assessments
Assessment Structure
|
Assessment Item |
Weight |
Relevant Dates |
|
Problem Sets
Assessment Format: Individual
|
15% |
Start Date: Weekly
Due Date: Weekly
|
|
Assignment 1
Assessment Format: Individual
|
20% |
Start Date: Week 4
Due Date: Week 7
|
|
Assignment 2
Assessment Format: Individual
|
25% |
Start Date: Week 7
Due Date: Week 10
|
|
Final Exam
Assessment Format: Individual
|
40% |
Due Date: during Exam Period |
Assessment Details
Problem Sets
Each problem set will be submitted using the "give" system. All students will need to submit solutions to the Problem Sets each week (weeks 2-10).
Problem sets will be marked automatically one week after the due date. When marking is complete you can see marks online using the course website.
There are no marks for Problem Set 1, it's there to help you get started. You will see a 0 as a total for Problem Set 1, as it is not counted towards your fnal mark.
Simple Editing Assistance
In completing this assessment, you are permitted to use standard editing and referencing functions in the software you use to complete your assessment. These functions are described below. You must not use any functions that generate or paraphrase passages of text or other media, whether based on your own work or not.
If your Convenor has concerns that your submission contains passages of AI-generated text or media, you may be asked to account for your work. If you are unable to satisfactorily demonstrate your understanding of your submission you may be referred to UNSW Conduct & Integrity Ofce for investigation for academic misconduct and possible penalties.
For more information on Generative AI and permitted use please see here.
COMP1511 Specifc Information
You are permitted to use the tools dcc-help and dcc-sidekick to help you understand the error messages you may get when compiling the code you have written.
You are permitted to use autotest-help to help you understand why your code may not be passing the automated tests.
Systems such as Github Copilot and ChatGPT based on large language models or other generative artifcial intelligence techniques, look likely to become heavily used by programmers.
However, you need a good understanding of the language you are coding in and the systems involved before you can effectively use these tools. Using these tools to generate code for COMP1511 instead of writing the code yourself will hinder your learning.
Assignment 1
There are two assessable programming assignments. Assignments allow you to practice what you have learned on relatively large problems (compared to the small exercises in the labs).
Assignment 1, 20%
Assignment 1 is focused on the topic of arrays.
Assignments will be automarked, and feedback on programming style will be given by tutors.
Course Learning Outcomes
- CLO1 : Apply C programming language to solve simple decision, looping, array, and linked list problems programmatically
- CLO2 : Review the produced code against specifcation criteria by applying testing techniques
- CLO3 : Apply basic data structures, such as arrays and linked lists, to solve complex problems
- CLO4 : Read and understand coding solutions.
In completing this assessment, you are permitted to use standard editing and referencing functions in the software you use to complete your assessment. These functions are described below. You must not use any functions that generate or paraphrase passages of text or other media, whether based on your own work or not.
If your Convenor has concerns that your submission contains passages of AI-generated text or media, you may be asked to account for your work. If you are unable to satisfactorily demonstrate your understanding of your submission you may be referred to UNSW Conduct & Integrity Ofce for investigation for academic misconduct and possible penalties.
There will be multiple, clearly marked, questions that will involve the use of an array. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
Requirement#2: on the fnal exam you must solve a task by writing a program that uses a linked list. There will be multiple, clearly marked, questions that will involve using a linked list. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
Assignment submission Turnitin type
Not Applicable
Hurdle rules
Requirement 1: on the fnal exam, you must solve a task by writing a program that uses an array.
There will be multiple, clearly marked questions that will involve the use of an array. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
Requirement 2: on the fnal exam, you must solve a task by writing a program that uses a linked list. There will be multiple, clearly marked questions that will involve using a linked list. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
You cannot pass COMP1511 unless you achieve both the above requirements.
No Assistance
This assessment is designed for you to complete without the use of any generative AI. You are not permitted to use any generative AI tools, software or service to search for or generate information or answers.
For more information on Generative AI and permitted use please see here.
COMP1511 Specifc Information
You will not have access to any generative AI tools during the exam.
You will not have access to dcc-help, dcc-sidekick or autotest-help during the exam.
General Assessment Information
In addition to scoring 50 or above overall in the course, COMP1511 has two requirements for the fnal exam:
There will be multiple, clearly marked questions that will involve the use of an array. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
Requirement 2: on the fnal exam, you must solve a task by writing a program that uses a linked list. There will be multiple, clearly marked questions that will involve using a linked list. You must pass one of these questions (by receiving at least 50% of the available marks) to meet this requirement.
You can not pass COMP1511 unless you achieve both the above requirements AND score an overall course grade of 50 and above.
Course Schedule
|
Teaching Week/Module |
Activity Type |
Content |
|
Week 1 : 9 September - 15 September |
Lecture |
Course intro UNIX + Tools What is a program |
|
Lecture |
Variables/Constants |
|
|
Week 2 : 16 September - 22 September |
Lecture |
Control Flow |
|
Lecture |
Custom Data Types |
|
|
Week 3 : 23 September - 29 September |
Lecture |
Procedures and Functions |
|
Lecture |
Static Arrays |
|
|
Week 4 : 30 September - 6 October |
Lecture |
2D Arrays |
|
Lecture |
Strings |
|
|
Week 5 : 7 October - 13 October |
Lecture |
No Lecture - PUBLIC HOLIDAY (A recording will be provided) Lecture Program 1: Arrays
|
|
Lecture |
Dynamic arrays Memory |
|
|
Week 7 : 21 October - 27 October |
Lecture |
Pointers
|
|
Lecture |
Memory (heap vs stack) Basic linked list |
|
|
Week 8 : 28 October - 3 November |
Lecture |
Linked Lists |
|
Lecture |
Lecture: Linked Lists |
|
|
Week 9 : 4 November - 10 November |
Lecture |
Lecture Program 2: Linked Lists |
|
Lecture |
Extra Content (Non-Examinable) |
|
|
Week 10 : 11 November - 17 November |
Lecture |
Exam details |
|
Lecture |
Revision of course content |