Baher Abdelfatah's Projects
This is a repository for the LinkedIn Learning course 8 Git Commands You Should Know
Simple Android About Me App
Advanced Algorithms and Complexity by University of California San Diego & National Research University Higher School of Economics About this Course You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset.
In this Repo I will be Implementing Most Common Algorithms in C++
About this Course If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs. Graphs arise in various real-world situations as there are road networks, computer networks and, most recently, social networks! If you're looking for the fastest time to get to work, cheapest way to connect set of computers into a network or efficient algorithm to automatically find communities and opinion leaders in Facebook, you're going to work with graphs and algorithms on graphs. In this course, you will first learn what a graph is and what are some of the most important properties. Then you'll learn several ways to traverse graphs and how you can do useful things while traversing the graph in some order. We will then talk about shortest paths algorithms — from the basic ones to those which open door for 1000000 times faster algorithms used in Google Maps and other navigational services. You will use these algorithms if you choose to work on our Fast Shortest Routes industrial capstone project. We will finish with minimum spanning trees which are used to plan road, telephone and computer networks and also find applications in clustering and approximate algorithms.
About this Course World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Moreover, the emerging field of personalized medicine uses many search algorithms to find disease-causing mutations in the human genome.
Apriori is an algorithm for frequent item set mining and association rule learning over relational databases. It proceeds by identifying the frequent individual items in the database and extending them to larger and larger item sets as long as those item sets appear sufficiently often in the database.
C++ is an extremely powerful, portable, and cost-effective programming language. But it's also rife with implicit and counter-intuitive semantics, which can introduce bugs into your program. In this course, join instructor Shachar Shemesh to learn the fundamental skills you need to know as a developer to avoid implicit bugs in C++.
In this Repo I will be Implementing Most Common Data Structures in C++
C++ Object-Oriented Design and Programming Course by Dr. Mostafa Saad
Code samples for C++ Concurrency in Action
Simple Color Boxes with Constrained Layout
Concurrency with Modern C++ What every professional C++ programmer should know about concurrency. Rainer Grimm This book is for sale at http://leanpub.com/concurrencywithmodernc
This repo is for the Linkedin Learning course: C++ Design Patterns: Structural
C++ console application template using Bazel and googletest
C# Design Patterns
Simple Apk to demonstrate Custom Views
About this Course How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java). In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables. You will explain how these data structures make programs more efficient and flexible. You will apply asymptotic Big-O analysis to describe the performance of algorithms and evaluate which strategy to use for efficient data retrieval, addition of new data, deletion of elements, and/or memory usage. The program you will build throughout this course allows its user to manage, manipulate and reason about large sets of textual data. This is an intermediate Java course, and we will build on your prior knowledge. This course is designed around the same video series as in our first course in this specialization, including explanations of core content, learner videos, student and engineer testimonials, and support videos -- to better allow you to choose your own path through the course!
Design Pattern Examples in C++
DessertPusher is a game about making desserts. Press the button, make a dessert, earn the big bucks
DevByte Viewer is an example app that showcases using Room and a Repository to create an offline cache. In addition, it also covers how to use WorkManager for scheduling periodic work. In this app it's used to setup a daily background data sync.
Dice Roller Android Game Simply click the Button then The Dice will be Rolled
EggTimer is a timer app for cooking eggs. You can start and stop the timer, choose different cooking intervals..
GDGs, or Google Developer Groups, are communities of developers that focus on Google technologies - including Android - around the world. They host lots of different events like meetups, conferences, study jams, and more! GDG Finder helps you locate GDGs around the world or start one of your own. You'll learn the principles of Material Design so you can implement professional looking designs and build Android apps that users love to use!