About this Course
Welcome to the course Programming - From Base to Ace. This course aims to guide you to become a good programmer by teaching you the core concepts required for object oriented programming. The language used here is C# because:
- it is used a lot in a professional context
- it is a beginner friendly language
- has a huge amount of readily available libraries and frameworks to use
- comes with a really nice IDE
While it sounds like C# is the perfect tool for every problem, it isn't. But you have to start somewhere and the road to learning new programming languages is one that you will need to follow in your own direction.
This course is split into a couple of larger parts:
- Introduction to Programming: learn about the basic core concepts of programming you will in almost in any programming language.
- Object Oriented Thinking: learn about objects and classes and their use in programming.
- Object Oriented Programming: make the step from thinking in an object oriented way to actually programming in an object oriented way.
- Advanced Topics: digs deeper in some of the C# libraries and tools.
- WPF: introduces the Windows Presentation Foundation framework, which allows you to create beautiful graphical applications
- Tutorials: some walkthroughs of applications that were build over the years
The GitHub repo of this course is available at https://github.com/ronnymees/base2ace. Feel free to contribute or report spelling errors, unclear explanations or others concerns/ideas.
What will you learn?
In this course is not about learning to use all sorts of tools or fancy integrated development environments (IDEs). It's also not about learning to manage projects or design methodologies.
The main focus lies in learning to think in an object oriented way and in the meantime learn some object oriented languages. While learning all these great things about objects we are not responsible for the fact that you might learn a thing or two about tools and project management.
Expand your knowledge & resources
Most of the ideas, knowledge and understanding is achieved by reading books, tutorials and watching YouTube videos. It can only be encouraged to read books and broaden your horizon. Challenge yourself and others with your newly acquired knowledge.
But don't only become book-smart. Also become do-smart. Make exercises, solve problems, create programs, beat challenges, test new things, ... You cannot become a programmer without actually programming yourself.
While all you need to know for the exam is in this course, not all you should know is in here. It is extremely preferable to take notes in the lessons. And of course you are also encouraged to search the Internet and books for extra knowledge.
Feel free to ask questions in the lessons or via email.
The LABs are there to practice what you have learned in the lessons. You will get some assignments through the semester on which you will be graded.
To practice for these evaluations, many challenges were created for you to solve. Follow the instructions on Toledo to get your own copy of these challenges via GitHub Classroom.
Extra practice
While this course does contain a lot of exercises and things to try, you are encouraged to find extra practice or inspiration on the Internet. Some other good sources are:
- https://www.sololearn.com/. SoloLearn has a large collection of FREE code learning content, from beginner to pro! Choose from thousands of programming topics to learn coding. They also host a heap of challenges.
- https://www.udemy.com/courses/development/. Udemy is an online learning and teaching marketplace with over 204000 courses and 54 million students. Learn programming, marketing, data science and more.
While many of these have solutions available, they have not been checked and approved by the teacher of this course. Be critical about the solutions and try to apply the things you have learned in this course.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.