Hassan Nasser
Verified Expert in Engineering
Software Engineering Developer
Beirut, Beirut Governorate, Lebanon
Toptal member since November 24, 2020
Hassan has twenty years of experience as a software engineer and database architect. With two master's degrees in computer engineering and computational science from the American University of Beirut, he has the skills to build most software related to finance, management, statistics, data science, computer vision, and artificial intelligence. Hassan can design software on GPUs for high computation complexity issues. He greatly enjoys handling challenging software for maximum client benefit.
Portfolio
Experience
- Software Engineering - 20 years
- Microsoft Access - 20 years
- Database Architecture - 20 years
- Microsoft SQL Server - 14 years
- Database Optimization - 14 years
- C++ - 12 years
- Microsoft Power BI - 1 year
Availability
Preferred Environment
C#, Microsoft Power BI, Microsoft SQL Server, C++, NVIDIA CUDA, Computer Vision, Robotics
The most amazing...
...thing I've made is a stock and accounting software that makes life easy for many institutions and parallel programming on GPUs where the challenge is maximum.
Work Experience
Software Engineer | Database Architect
Freelance
- Developed accounting software that includes most details for general accounting for establishments. Included the archive data and developed reports from customer or supplier statement and trial balance. The system has multi-currency features.
- Built stock software with a multi-warehousing feature. The reports included item movement, item value summation, gross profit per item, item category, customer, customer category, and date period.
- Developed building construction software that computes the cost of a building and follows apartment sales and vouchers of customers for installment payment. Created numerous printable reports.
- Created and implemented dental lab software that followed each patient case for accounting data and clinical data. Developed many printable reports per account, doctor, or patient.
- Developed a billing system for central using C# and T-SQL to keep track of call data like call duration, dialing extension, or dialed number.
Research Assistant
American University of Beirut
- Implemented research using GPU and compared it to a Matlab implementation of near-optimal control of fuel cell hybrid electric vehicles using single-step dynamic programming.
- Leveraged multi-core processing to implement the algorithm quickly enough to be considered real-time results.
- Compared results between the CUDA and Matlab versions to ensure that they were exact.
MATLAB Lab Instructor
American University of Beirut
- Assisted the students in using the MATLAB engineering tool to successfully finish their lab assignments. Supervised the class and explained given assignments.
- Helped students by answering all questions and encouraging them to understand the objective of the lab.
- Programmed my own solution of the assignment to correct all the students' assignments.
C++ Lab Instructor
American University of Beirut
- Explained the assignments and supervised the class.
- Helped students when needed and answered all lab-related questions.
- Corrected submitted assignments after implementing my own version.
Software Developer | Research Assistant
Freelance
- Developed a parallel programming software using CUDA for the NVIDIA GPU that implements the Canny edge detector.
- Combined multiple stages of the Canny edge detector in one kernel to achieve better speed up, compared to other parallel programming software.
- Developed a parallel kernel for the last stage. The task was particularly challenging and time-consuming.
CUDA Lab Instructor
American University of Beirut
- Supervised the lab and helped the students implement their lab assignments that included parallel programming using CUDA, NVIDIA's GPU programming language. It was a graduate course lab.
- Studied and optimized the architecture of GPU to make the software performance faster.
- Used different CUDA tools that reflect memory and CPU usage to achieve better performance.
Software Developer
Freelance
- Implemented billing software for Panasonic Phone Centrals using C# as an interface language and Microsoft SQL Server as the database language.
Software Developer
Freelance
- Implemented a SQL Server database that implemented views, stored procedures, and functions built on an old COBOL system of a hospital.
Experience
Lidar DSP Computations
Results were precise and real-time. Some software parts speed up from 8,000 to 420,000 frames per second. The bottleneck of good speed up was taking GPU architecture into account. The software was tested to run more than 24 hours without stopping. In fact, it could run as long as the hardware is ok.
Canny Edge Detector Using CUDA on GPU
Development was done with the CUDA language for the NVIDIA GPU cards. Knowing the GPU structure helped a lot in creating an efficient design. Combining many stages of the Canny edge detector to one kernel was the main reason for the speed. If the users don't combine stages, they would have to write a lot of data to RAM, which can cause slowness. Meanwhile, combining stages is enough to write to the shared memory, which is much faster than RAM.
Transfer Entropy Calculations Using GPUs for Determining Epilepsy Focus
McCluskey Optimization Using CUDA on GPU
Warehouse and Accounting Software
Main characteristics:
• Easy to use—The user can browse between different screens easily. For example, if the user is on the customer statement screen, they can go to the corresponding invoice to view its detail with only one click. They could also print it or even modify it if they have permission.
• Multiple criteria—Every report could be computed based on different criteria. The user may compute gross profit for any given period, customer category, item, and item category in the same report.
• Inter-related vouchers—For a given invoice, the user may attach as many journal vouchers as needed. This software will deduce the additional cost for every item in the invoice. If the user is importing from China, they will know the item value in China and item value in their country automatically after adding import cost.
• Barcode system—Enter the item through the barcode scanner and print labels directly.
Insurance Broker
There is also a feature to make reminders that report the customers who should renew their insurance policies or give any account statement, including issuer and customer.
Building Construction Database
• Statement of every project per date or transaction type
• Statement of any account per date, project, and apartment (if there are many)
• A simple drawing of the building, showing every stage in a row and all apartments, including the owner's name (if sold)
• A sale contract that is automatically posted to reports. It may include all payment types like the first payment, monthly or yearly payments, or any exceptional payment
• Printing is supported for all reports
• Users get a trial balance per period or project
Phone Billing System
Education
Master's Degree in Computer Engineering
American University of Beirut - Lebanon
Master's Degree in Computational Science
American University of Beirut - Lebanon
Bachelor's Degree in Computer Engineering
American University of Beirut - Lebanon
Certifications
MCSA: SQL 2016 Database Development - Certified 2021
Microsoft
Exam 70-762: Developing SQL Databases
Microsoft
Exam 70-761: Querying Data with Transact-SQL
Microsoft
LinkedIn Skill Assessment (C#, T-SQL, .NET Framework, C++, C, and VBA)
LinkedIn Corporation
Diploma in C Programming
Alison
Diploma in Databases and T-SQL
Alison
Diploma in C# Programming
Alison
Skills
Libraries/APIs
ODBC, OpenCV
Tools
Microsoft Access, C#.NET WinForms, Visual Studio .NET, MATLAB, Microsoft Power BI, Visual Studio 2019, Microsoft Excel
Languages
C++, T-SQL (Transact-SQL), C#, C, Visual Basic for Applications (VBA), C++14, SQL, C#.NET, VB.NET, Java
Paradigms
Parallel Programming, Database Design, Database Development
Platforms
NVIDIA CUDA, Windows, Linux
Storage
Database Architecture, Database Modeling, Microsoft SQL Server, Databases, Database Administration (DBA), SQL Server DBA, ANSI SQL, SQL Server 2012, SQL Server 2008 R2, Microsoft DBA, SQL Server 2016, SQL Server Configuration Manager
Other
Software Engineering, Database Optimization, Data Migration, Data Engineering, C# Operators, Data Visualization, Reporting, Reports, Data Modeling, Image Processing, Computer Vision, Data Mining, Frameworks, Neural Networks, Optimization, Data Queries, MCSA, Robotics
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring