Abstract Data Types and Program Design is the fourth and final course in the CS101 series, building on Introduction to Programming and Computational Thinking; Problem Solving with Automation and Storage; and Data Structures from C to Python.
You will be part of a vibrant community of students, facilitated by passionate educators and participate in consultation groups with computer scientists. By the end of the course, you will have identified and appreciated good programming practices; demonstrated the fundamental design principles for writing good software; and have co-created solutions by coding in teams, coordinating on design, and reviewing each other’s code.
There are hundreds of online courses that will promise to teach programming with minimal effort but they often recycle content from YouTube and only scratch the surface of coding. CS101 is different. If you are motivated to learn real computer science and programming skills then you've come to the right place. :)
Through this course, you will develop a range of practical, technical and thinking skills:
Write clean and efficient code following best practices. Start with 0s and 1s, and write your first program in C.
Understand how to analyse and break down problems so they can be solved by computers.
Apply a range of techniques and strategies to solve problems by developing a scientific mindset.
Explore the rules of programming, the role of logic gates and core concepts such as recursion, syntax, abastraction and more.
Understand how a computer interprets instructions from processors to modern programming languages.
Appreciate and implement test driven development, develop strategies and mental resilience for debugging.
Understand the implications of the code you write, learn how to review other people's code and appreciate feedback.
Use data to solve problems with programming, work with data types, abstraction and capture input from users.
This course is designed from the ground up by some of the world’s leading computer scientists, software engineers at cutting edge technology companies and experienced educators who have studied and taught at top universities.
The following industry experts have contributed to the design and development of this course:
We are proud to partner with some of the world’s most innovative technology companies and leading universities to ensure that this course provides learners with the skills necessary to succeed in the digital economy.
You will be part of a supportive, positive and collaborative learning community that is tightly integrated into the projects and activities that you will complete throughout the course and is facilitated by a team of computer scientists.
All the projects and activities you complete will be automatically added to your portfolio, which will be reviewed every fortnight and you will receive constructive feedback on how you're progressing and areas for improvement.
Programming activities in the course are automatically compiled, run and tested (where applicable) to provide you with immediate feedback. You will also be able to share your work with the rest of the cohort to collaborate and exchange ideas.
This course is structured as a series of eight modules with one module being released each week during the eight week course. You should plan to spend about eight hours per week on the course, however, you will be able to catch up if you fall behind.
Where We Are?
Limitations of Concrete Data Types
System Design
Comparing Concrete Types to Abstract Types
Creating ADTs
Phone Cleanup
Revision
Crazy Eights - What Will We Need?
Specify an Interface
Implementing Crazy Eights
ADTs and Python Libraries
Creating a Crazy Eights Player
Crazy Eights Battle and Revision
This course is the fourth in the CS101 series, building on Introduction to Programming and Computational Thinking; Problem Solving with Automation and Storage; and Data Structures from C to Python. Whether you are upskilling for your current role or starting fresh, below is a list of outcomes which you'll achieve at the end.
Identify and appreciate the qualities of high quality programming code
Value the writing of functional software for both its social utility and as an expression of creative skill
Cultivate a scientific mindset for solving problems using code
Identify and appreciate good programming practices
Demonstrate the fundamental design principles for writing good software
Understand how computers work in order to predict how programs will be translated into machine code and executed
Solve novel problems by building correct and functional software programs
Co-create solutions by coding in teams, coordinating on design, and reviewing each other’s code
Develop critical thinking skills while programming
Practice the skills required to independently research and explore new programming concepts
This course is aligned to the Australian OpenCreds Micro-credential Framework and is approved by OpenLearning’s quality assurance department. Upon successful completion of this course you will receive an OpenCred:
The OpenCred will be in the form of a digital credential that includes both a badge and a certificate that you will be able to share on social media.
Alongside your OpenCred, you will have an online portfolio of your work across all the projects and activities that you have completed in this course.
You will be able to control access to your digital credential and portfolio so that you can share it with employers and educational institutions.
A once-off payment provides you with unlimited access to the course for 12 months, with mentoring and support for the duration of the cohort (6 weeks from the start date).
Money Back Guarantee
This course will transform the way you think and work, preparing you for an uncertain future.
Discover why experienced software engineers, tech company founders and educators believe that CS101 is the missing link in the tech sector today.
Designed from the ground up by computer scientists and educators with original content, activities and projects. Validated by leading technology companies and software engineers CS101 will ensure that you're gaining the foundational skills that everyone in the industry needs.
We've designed a support model that fits around your schedule and enables you to improve. You'll receive feedback every fortnight on your portfolio as you progress through the course and a facilitator will support the community and encourage discussion.
Programmers rarely work alone, they brainstorm with others, write programs that interact with other programs and they give each other constructive feedback. You will be part of a vibrant learning community that is driven by activities and projects, and facilitated by experts in the field.
CS101 is designed from the ground up to maximise opportunities for peer interaction and engagement so that you develop a broad range of computer science and professional skills. Delivered on OpenLearning and designed around the principles of social constructivism, you will interact because it's fun, not because you are forced to do so.
This course is 100% online and can be completed entirely through your web browser. The course makes use of various programming tools and applications that have been designed to run within your web browser so there is no software to install. However, you are encouraged to program on your computer using a range of applications (not within the web browser) and instructions will be provided inside the course.
The course is delivered on the OpenLearning platform and we encourage you to access this via Desktop web browser for the best learning experience. We've also published a list of recommended web browsers and system requirements here: https://help.openlearning.com/t/y7grg4/minimum-system-requirements-for-maximising-your-openlearning-experience
You can contact contact@cs101.com for technical support and questions regarding enrolment or payment. CS101 is delivered on the OpenLearning platform and the courses are managed by the CS101 team at OpenLearning.
Yes, you will receive a digital credential upon completion of this course, which includes both a certificate and a digital badge. The credential is an OpenCred, which is a type of micro-credential developed by OpenLearning that adheres to a strict quality assurance and verification process.
Yes, there is a discount of 50% off the full price of the first course for a limited time.
This course provides you with the foundational skills in computer science and programming, which will make you more employable in a range of professions and enable you to teach yourself new programming languages and tools. However, this course is not specifically designed to get you a job as a programmer and we would recommend taking all four CS101 short courses if you are looking to get a job as a computer scientist or programmer.
Yes, we have a 7-day money-back guarantee from the start date of your cohort. So, if you're unhappy or change your mind within the first 7 days then you can contact our support team to request a full refund.
You will be able to access the course for at least one year from the date of the intake. The course is designed such that everyone in the cohort goes through at the same pace with the aim of completing within 6 to 8 weeks from the start date, depending on the course. The course facilitators will be in on hand from the start of the cohort. That said, you will be able to take your time in completing it if you do fall behind. For best results, try to keep up :)
You do not need a technical background or any experience in computer science or programming to take this course. We will start from the very beginning so you can build up your knowledge and confidence as the course progresses.
You should set aside about 5 to 7 hours per week to take this course. If you fall a bit behind, don't worry, you will be able to access the course for at least a year from the start date of the course.
Transform the way you think and learn the skills that are driving the technological revolution
Enrol now