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/BioBoost/course_programming_from_base_to_aceopen in new window. Feel free to contribute or report spelling errors, unclear explanations or others concerns/ideas.

Requirements

To follow along you will at least need to install Visual Studio (Community edition is fine) and git. You can find a tutorial for the installation of both in the Software Installation Guide @ http://software-installation-guide.netlify.app/open in new window.

About this course

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.

CommitStrip - The mistakes of youth

Keep Learning

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.

Theory

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.

LABs, assignments and tests

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.

There may be occasions for tests but these will mostly be announced.

To practice for these evaluations, many challenges were created for you to solve. You can find them at https://github.com/BioBoost/csharp_practicalopen in new window. As a student, you should however get your own copy of these challenges via GitHub Classroom as described on Toledo.

ECTS

For the exact details on the LABs, exams and tests you should take a look at the ECTS fiche of this course which can be found via http://onderwijsaanbod.vives-noord.be/syllabi/n/B3N066N.htm#activetab=doelstellingen_idp13827904open in new window for Introduction to Programming and via http://onderwijsaanbod.vives-noord.be/syllabi/n/B3N005N.htm#activetab=doelstellingen_idm2920400open in new window for Object Oriented Programming 1.

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:

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

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.