So i just finished my first c course, so what comes after? like i learnt how to sort arrays, import from files and change them, linked list and stacks and queues, so thats it? can't wait for the new semster to learn more, i just wanted a heads up to start reading and practise, i'm taking OBJECT-ORIENTED PROGRAMMING and CMPTR ORG & ASSEMB LANG PROG if that helps in anything.

Thanks.

I think you should start data structures in this duration

To quote the title of one of the pre-eminent tomes of computer science by Niklaus Wirth, "Data Structures + Algorithms = Programs".

Anyway, since you are going to take a course in object-oriented programming, it is time to learn UML modeling. There are tonnes of resources on the Internet to help get you started.

Keep in mind that 'c' is just a language. Computer Science leans towards algorithms and analysis that don't depend on any languages. So, simply put, there are two logical directions for you to go:

  1. Learn more languages, and paradimes. You mentioned you might do OOP and some low level programming soon. So c++ and assembly might be a good idea if you want a head start. Be carefull with assembly, as the language depends on the architecture, and you might be using a different one in school. Some other options might be to explore functional programing (racket, haskel). Perhaps array based language like j. Maybe your interested in web development (html, css, javascript, php, mysql, ...).

  2. Learn more about computer science. Za3mi already mentioned data structures. (analysys, arrays, linked lists, stacks, queues, sorting, hash tables, different kinds of trees, different kinds of searching, skip lists, quad trees, KD-trees, Tries, string matching, compression are all stuff you should know a bit about). Project Euler is a great place to sharpen your creativity. Maybe start touching on concurrency.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.