Skip to content
Mohamed Hassan (JOSEPH) edited this page Oct 31, 2023 · 67 revisions

14-3-1024x768



References:


If you're a computer science undergraduate, no worries mate πŸ˜‡ and be open always. Just follow the given curriculum via accredited professors in a LEGAL university which is controlled via a Government worldwide and do their given lab-exercise besides following-up with their fellow teaching assistants


Happy coding with Code::Blocks IDE 😍


Data Structures and Algorithms in a nutshell πŸ˜‰

  • Algorithm complexity is defined by how to measure the
    • efficiency which is defined as not consuming a lot of money πŸ’° AKA fucken electricity ⚑ consumption and bare metal hardware usage 😁 by less usage of machine's resources as much as we can along the time and
      • always teach yourself how to write efficient code by cutting down unnecessary written code as simplifying mathematical steps
      • try along the time when coding a certain thing to write a code that does not consume a lot of those 4 machine's resources which translates in action to electricity consumption
    • correctness which is defined by working as expected of a certain algorithm which is defined by a way of solving a certain problem AKA Just a bunch of well defined logical steps NOT INVENTING THE ATOM πŸ€” as mad-scientists do. We reuse mate 😘.

Life wisdom:

  • Always teach yourself to re-use the abstraction AKA the easy interfaces of other complicated code to facilitate the development a bit.

  • Do not invent the fucken wheel.

  • Upon need check the existence of an abstraction that do a certain thing according to the task on hand in the language features or an existing library in the project you're working on as the development framework or others. Otherwise do a tradeoff: should i raise a request to the highest technical head in the room to bring an external library to the app OR can i code it myself with a good understanding on the theory behind the code AKA the mathematical topics behind it.

  • Think about abstraction from external libraries as a black box who has a expected certain input and expected certain output to do the job.

I had to make a generic http-client that works with common http-verbs to fit certain use cases where you can plug-in that easy interface of http-client within android-application to communicate with the backend effectively or within a scheduled-job component in the backend. This result in centralized control and less code in the future for re-use as an abstracted http-client within a certain project.