+1 on this. Background: I did attend two universities (not applied sciences aka "FH") in Germany and have/had friends who went to others (including applied sciences and abroad). I took a long time to finish my studies, was a low-level TA ("HiWi" - teaching an exercise groups of 10-15 students, grading my students hand-ins and the final exams), and was on the students council (both for the department and general council). So met a lot of people.
A lot of students were surprised when they realized that, at our universities, it's less about the latest fad like learning to program websites using some specific framework, but more about theoretical stuff and "general knowledge". Sometimes that demands programming, but besides one or two introductory courses, learning how to program isn't part of the curriculum. E.g. for our advanced Database lecture we learnt a lot about how a high performance DBMS works and a lot of tricks those pull. But it was just assumed that we could write decent high performance Java to implement a really fast SQL engine; they removed C++ as an alternative when the project started a few weeks into the semester, so our group was trapped and had to quickly improve from "being able to write small programs in Java" to "write performance critical code moving gigabytes of data around" (needless to say we struggled with the early benchmarks, which were graded). Same for compiler construction (high-five, I tremendously enjoyed that as well!), for which the lectures focused on the concepts while the mandatory project (a subset-of-C compiler) just assumed that you could program C++ good enough to implement the principles and achieve the performance goals. Though I think the teaching assistants tried to help students with becoming better C++ programmers (unlike my Java, my C++ is pretty good and I was working on topically close software during that time, so I skipped the most of these exercise lessons).
But at a university of applied science it is much more to focus on the actual problem solving and building things, and it sounds a lot like that's what you were expecting to do instead. I know some who preferred one or the other, so they changed tracks during or after finishing their B.Sc. And I really have nothing bad to say about either kind of university; the goals just differ, and while some perceive the applied universities to be "easier" I suppose that's mostly because practical stuff is more aligned with their interests.
A few friends choose to cancel university altogether and instead choose to do a "Ausbildung" (apprenticeship/on-the-job-training, some part is formal education, including related topics like business courses, a huge part is working at a company). Also not bad, but nothing I personally would have liked to do.
tl;dr: If you want to learn more applied CS, consider doing a B.Sc./M.Sc. at a university of applied sciences instead. Here in Germany we call them FH = Fachhochschule, but I think other countries have something like that as well.
You said something about your Kenyan education; while I can't say anything objectively about Kenyan education, as grading didn't involve asking for a students country/region of origin or what school they previously attended ;-), here is one thing that I feel is important:
Obviously you want to be as proficient as possible in the course language, both written and spoken. Especially international lecturers are often hired for the quality of their research, not for their mastery of the English language.
A lot of students were surprised when they realized that, at our universities, it's less about the latest fad like learning to program websites using some specific framework, but more about theoretical stuff and "general knowledge". Sometimes that demands programming, but besides one or two introductory courses, learning how to program isn't part of the curriculum. E.g. for our advanced Database lecture we learnt a lot about how a high performance DBMS works and a lot of tricks those pull. But it was just assumed that we could write decent high performance Java to implement a really fast SQL engine; they removed C++ as an alternative when the project started a few weeks into the semester, so our group was trapped and had to quickly improve from "being able to write small programs in Java" to "write performance critical code moving gigabytes of data around" (needless to say we struggled with the early benchmarks, which were graded). Same for compiler construction (high-five, I tremendously enjoyed that as well!), for which the lectures focused on the concepts while the mandatory project (a subset-of-C compiler) just assumed that you could program C++ good enough to implement the principles and achieve the performance goals. Though I think the teaching assistants tried to help students with becoming better C++ programmers (unlike my Java, my C++ is pretty good and I was working on topically close software during that time, so I skipped the most of these exercise lessons).
But at a university of applied science it is much more to focus on the actual problem solving and building things, and it sounds a lot like that's what you were expecting to do instead. I know some who preferred one or the other, so they changed tracks during or after finishing their B.Sc. And I really have nothing bad to say about either kind of university; the goals just differ, and while some perceive the applied universities to be "easier" I suppose that's mostly because practical stuff is more aligned with their interests.
A few friends choose to cancel university altogether and instead choose to do a "Ausbildung" (apprenticeship/on-the-job-training, some part is formal education, including related topics like business courses, a huge part is working at a company). Also not bad, but nothing I personally would have liked to do.
tl;dr: If you want to learn more applied CS, consider doing a B.Sc./M.Sc. at a university of applied sciences instead. Here in Germany we call them FH = Fachhochschule, but I think other countries have something like that as well.
You said something about your Kenyan education; while I can't say anything objectively about Kenyan education, as grading didn't involve asking for a students country/region of origin or what school they previously attended ;-), here is one thing that I feel is important: Obviously you want to be as proficient as possible in the course language, both written and spoken. Especially international lecturers are often hired for the quality of their research, not for their mastery of the English language.