Hire the best Computer Scientists

Clients rate our Computer Scientists
Rating is 4.8 out of 5.
4.8/5
Based on 526 client reviews
Lawrence D.

Malabon City, Philippines

$30/hr
5.0
132 jobs
Hi, I'm Lawrence Decamora, an Oracle Certified Professional for the Java Programming Language. I am also currently teaching as an CS/IT/IS Instructor at the University of Santo Tomas. Aside from teaching, I also do on the side consulting for several companies. I used to work as a Java Trainer at Sun Microsystems Philippines until last 2009 when it closed down due to the acquisition of Oracle. My current skills set includes teaching / delivery of the Java Technology, creating simple to intermediate to advance Java applications. I also have experience in creating teaching materials and curriculum writing for an CS/IT/IS Program. I have about 23 years experience in the Java Programming Language which includes several certifications and teaching experience. I also have a degree in Computer Science, a Masters Degree in Education and a Doctoral Degree in Educational Leadership and Management.
  • Java
  • Core Java
  • Unix
  • Coding Art
  • Technology Tutoring
  • Data Entry
Sohail I.

Lahore, Pakistan

$50/hr
5.0
107 jobs
Programming instructor & AI consultant — I teach C, C++, C#, Java, Python and help with AI integration, n8n automation, and prototype development for projects and startups. Hello — I’m Sohail, a Software Engineer. I’ve been on Upwork since 2020 and have 6+ years of professional experience, with a strong record of client satisfaction. I teach programming from fundamentals to advanced topics (OOP, data structures, algorithms) with a hands-on approach and practical exercises. As a technical consultant, I help clients with: - AI integration and lightweight models - Automation workflows using n8n - Prototype & MVP development (POC + demo) - Project scoping & architecture guidance What I Offer: - 1:1 or small-group tutoring (beginner → advanced) - Project-based lessons and code walkthroughs - Prototype development for business or academic projects - Code review, debugging, and optimization - Clear lesson plans, homework, and follow-up guidance Why Clients Hire Me: - 100% project completion rate - Practical: hands-on teaching style — I build with you - Experienced: multiple languages and real projects - Flexible: single sessions, short courses, or milestone-based prototypes Here’s what some of my students say about working with me: 1. “Sohail is an exceptional tutor! His expertise spans data structures in C++ and the basics like loops. His teaching style builds problem-solving skills and confidence.” 2. “Highly responsive, patient, and adept at tutoring Java programming — exceeded my expectations on short notice.” 3. “Clear explanations, helpful tips, and remarkable patience — an absolute delight to work with.” If you want focused learning or a working prototype, send a message and we’ll outline a plan in the first 30 minutes.
  • Computer Science
  • Coding Lesson
  • Tutoring
  • Teaching Programming
  • Technology Tutoring
  • C++
  • Java
  • Python
  • Data Structures
  • C
  • Data Science Consultation
  • Tutorial
  • AI Model Integration
  • AI Consulting
  • AI Agent Development
Amna S.

Rawalpindi, Pakistan

$25/hr
5.0
86 jobs
I have in-depth knowledge in areas of Artificial Intelligence and Machine Learning, having taught related courses at the Bachelor level. I have worked with various tools and libraries including MATLAB, Tensorflow, Caffe, and languages including C++ and Python. I have completed various data annotation and technical content writing projects with excellent feedback. I'm looking for projects/tasks that can utilize my knowledge as well as programming and analytical skills.
  • MATLAB
  • Deep Learning
  • Python
  • TensorFlow
  • RapidMiner
  • Model Tuning
  • Content Writing
  • Technical Writing
  • Model Validation
  • Video Annotation
  • Academic Content Development
  • Data Annotation
  • Data Labeling
BACHAHALLY RADHAKRISHNAN V.

Mysore, India

$10/hr
5.0
84 jobs
Hello. I am a C# .Net Azure developer available for developer projects. I specialize in .Net BackEnd Web API Development with Azure, DevOps and GitHub Skills. I have complementary front end skills with respect to Razor, Blazor and Angular. I have the following Microsoft Certifications: 1. AI-900 Azure AI Fundamentals (2025) 1. DP-900 Azure Data Fundamentals (2025) 1. AZ-900 Azure Fundamentals (2025) 1. Microsoft MVP (2014) Thank you and looking forward to working with you. Jay Full Name : Vijayasimha BR
  • JavaScript
  • Microsoft Visual Studio
  • Web Development
  • Software Development
  • Front-End Development
  • React
  • GitHub
  • Tutoring
  • Teaching
  • C#
  • .NET Core
Dr Ijaz U.

Peshawar, Pakistan

$30/hr
5.0
70 jobs
Expert Academic Editor & Research Consultant | Thesis & Journal Paper Specialist (Computer Science Focus)| Top-Rated Proofreader & Editor for MS, PhD Theses, and Research Papers With 51+ successfully completed projects on Upwork, I help scholars and researchers refine their academic work to meet the highest standards. Whether you need proofreading, editing, restructuring, or journal submission support, I ensure clarity, coherence, and flawless formatting, helping you pass thesis defenses and get published in Q1 journals. How I Can Help You: ✔ Thesis/Dissertation Editing – Fix supervisor feedback on logic, flow, grammar, and structure (LaTeX, Overleaf, Word). ✔ Journal Paper Proofreading – Address reviewer comments, improve readability, and align with submission guidelines. ✔ Research Paper Polishing – Strengthen arguments, ensure technical accuracy (especially in AI, smart systems, and computer science), and optimize references (Mendeley/Zotero/EndNote). ✔ NSF Grant Writing – Proposal drafting, budget planning, and submission-ready formatting. ✔ Formatting & Conversion – APA/IEEE/Springer templates; LaTeX to Word/PDF and vice versa. Why Choose Me? ✅ Award-Winning Researcher – Published in Q1 journals; reviewer for top-tier publications. ✅ Computer Science Expertise – Specialized editing for AI, ML, healthcare systems, and tech-related research. ✅ Fast, Affordable, and Detail-Oriented – High-quality edits at competitive rates. ✅ Guaranteed Satisfaction – 100% client-focused revisions until your work shines. Let’s get your research published or thesis approved! Contact me.
  • Computer Science
  • Academic Proofreading
  • Fact-Checking
  • Research Papers
  • Proofreading
  • Formatting
  • Education
  • Scientific Research
  • Academic Research
  • Academic Editing
  • LaTeX
  • Research Proposals
  • Professional Journal Citations
  • Machine Learning
  • References & Citations
Mohamed R.

Sharjah, United Arab Emirates

$50/hr
5.0
46 jobs
🌟 𝑻𝒐𝒑 𝑹𝒂𝒕𝒆𝒅 𝑷𝒍𝒖𝒔 𝑭𝒓𝒆𝒆𝒍𝒂𝒏𝒄𝒆𝒓 (𝑻𝒐𝒑 3% 𝒘𝒐𝒓𝒍𝒅𝒘𝒊𝒅𝒆) 🌟 Hello! I’m Mohamed, a passionate software engineer with over 5 years of experience in C++, Java, C#, Python, and full-stack development. My expertise spans database management, backend systems, and data structure optimization, with a solid track record in problem-solving and algorithmic design—skills that are critical in creating robust, efficient software solutions. ⦾ 𝗣𝗿𝗼𝗳𝗲𝘀𝘀𝗶𝗼𝗻𝗮𝗹 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲 ⦾ ‣ 𝗠𝗶𝗰𝗿𝗼𝘀𝗼𝗳𝘁 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿: At Microsoft, I work on building scalable automation and data processing solutions using Azure services. I’ve led projects that streamline workflows, utilizing Azure Data Factory and DevOps integrations to optimize data handling processes. Currently, I’m working on a new project involving Go, Python, and C#, broadening my language versatility and furthering my expertise in backend engineering. ‣ 𝗜𝗖𝗣𝗖 𝗖𝗼𝗺𝗺𝘂𝗻𝗶𝘁𝘆 𝗟𝗲𝗮𝗱 & 𝗖𝗼𝗺𝗽𝗲𝘁𝗶𝘁𝗶𝘃𝗲 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗲𝗿: As the leader of Cairo University’s ICPC Community, I’ve coached 300+ students in data structures and algorithms, equipping them with the skills to solve complex problems. My role as a problem setter at HackerRank involves designing challenging programming tasks that test and improve candidates' skills in dynamic programming, graph theory, and advanced data structures. ‣ 𝗧𝗼𝗽 𝗥𝗮𝘁𝗲𝗱 𝗣𝗹𝘂𝘀 𝗙𝗿𝗲𝗲𝗹𝗮𝗻𝗰𝗲𝗿 𝗼𝗻 𝗨𝗽𝘄𝗼𝗿𝗸: Ranked among the top 3% of 18 million+ freelancers, I’ve completed over 600 hours across 40+ jobs on Upwork, maintaining a 100% job success score. My freelance work includes technical interview preparation, where I emphasize data structure optimization and practical problem-solving approaches. ‣ 𝗗𝗮𝘁𝗮 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝘀 & 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺𝘀 𝗘𝘅𝗽𝗲𝗿𝘁: My technical specialization lies in creating solutions using advanced data structures and algorithms. Key expertise includes: ⁃ Dynamic Programming and Recursion ⁃ Graph Theory: DFS, BFS, Dijkstra, MST, Max Flow, SCC, Tarjan, Bellman-Ford, etc. ⁃ Data Structures: Binary Search Trees, Segment Trees, Fenwick Trees, Tries, and more ⁃ Mathematics: Probability, Number Theory, and combinatorial techniques ⦾ 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗦𝗸𝗶𝗹𝗹𝘀 ⦾ ‣ Languages: C++, Java, C#, Python, SQL, Go, HTML, JavaScript ‣ Frameworks & Tools: Spring Boot, Django, Azure, Git, Unix OS ‣ Software Engineering Concepts: Object-Oriented Programming, Databases, RESTful APIs, Design Patterns, SOLID Principles, Unit/Integration Testing ⦾ 𝗪𝗵𝘆 𝗖𝗵𝗼𝗼𝘀𝗲 𝗠𝗲? ⦾ With a combination of hands-on engineering experience at Microsoft and competitive programming, I bring a results-driven, solution-oriented mindset to every project. My goal is to provide the best, most efficient solutions, built with precision and an emphasis on quality. Whether you need help with complex application development, preparing for technical interviews, or solving algorithmic challenges, let’s collaborate to achieve your goals!
  • C++
  • Java
  • C#
  • Python
  • PostgreSQL
  • Git
  • Data Structures
  • Algorithms
  • Algorithm Development
  • Dart
  • Flutter
  • Database
  • HackerRank
  • Version Control

How it works

Post a job for free Post a job

Tell us what you need. Create your own job post or generate one with AI then filter talent matches.

Hire top talent fast

Consult, interview, and hire quickly, so you can meet the freelancers you're excited about.

Collaborate easily

Use Upwork to chat or video call, share files, and track project progress right from the app.

Payment simplified

Manage payments in one place with flexible billing options. Only pay for approved work, hourly or by milestone.

Don't just take our word for it

Computer Science vs. Computer Engineering: What's the Difference?

As technology evolves and spins off into highly specialized fields, so do the careers and advanced degrees that support it. As these degrees and specialties increasingly narrow their areas of focus, it can be helpful to understand how they play into the larger technology landscape by breaking them down into two core curriculum: computer science and computer engineering. And while there’s common ground between them, knowing where these two fields both overlap and diverge is a good place to start.

So, how are they different, and where does software engineering come in? Whether you’re interested in studying one or the other, or you’re just unsure how the two fields differ, here’s a boiled-down look at computer science vs. computer engineering.

Note: If you’re a student or professional looking to enter one field or the other, there will be a good bit of overlap between the two, with certain concepts and processes playing a role in both. Ultimately, they’re both concerned with enabling computers to read, write and use data properly to accomplish something, so there will be commonalities across the board.

The Theoretical: Computer Science

Computer science is primarily concerned with computational theory, namely the architecture, data, algorithms, and programming languages that comprise the software that’s run on a computer. Computer scientists are focused on things like code, algorithms, artificial intelligence, database design, and software design.

A computer scientist will code the instructions, protocols, and operating systems that run on top of hardware—a very generalized way of describing this incredibly varied field.

The Practical: Computer Engineering

Computer engineering takes that theory and applies to real life. Essentially it’s computer science put into action, married up with the field of electrical engineering. If computer science happens in code, in the abstract, computer engineering often happens in the lab. It involves designing and prototyping the tiny circuits and processing units that bridge the computer’s hardware components with the software it’s running—whether the implementations are embedded systems, microprocessors, networked IoT devices, or “smart” anything.

Computer engineering puts the theories of software design and data processing into action on a granular level. Think semiconductors and printed circuit boards, and the electrical integrations between all of these components.

A computer engineer will concentrate on how the software created by a computer scientist will get mapped out and run on the device. They’ll touch many different components: electrical engineering, hardware design, software design, and how each of these interoperates with the others.

Where Both Ends Meet: Software Engineering

You can’t talk about computer science and computer engineering without touching on software engineering—the bridge between the two that provides the architecture for the instructions the hardware executes.

So where does software engineering come into the mix? While computer scientists focus on the theories and algorithms and computer engineers focus on the hardware implementations, a software engineer bridges both disciplines together, applying computer science theories to software. A software engineer gets even more hands-on with programming by translating those concepts into functional applications that leverage the hardware they run on.

Studying the Disciplines: Computer Science Degrees vs. Computer Engineering Degrees

How is a CompSci degree different from a CompE degree? In the simplest of terms, computer scientists study theory and computer engineers build the things that bring those theories to life. Inside these disciplines, there are bound to be very specialized degrees, but knowing the basic differences will help you get started.

Both degrees will study basic computer operation, mathematics, and programming, but beyond that they’ll go on to emphasize different things. CompSci tends to be more theoretical while CompE is more practical.

A CompE degree will probably include a good amount of computer science coursework, but not vice versa—a CompSci student won’t get into the nuts and bolts of electrical circuits and engineering. If you’re studying computer science, expect to cover everything from operating systems and computer graphics to numerical methods and computational theories. If you’re studying CompE, you’ll likely cover similar areas of math and science, but also more physical studies like electronics, circuits, robotics, sensors, and networking.

Beyond education: A real world example

To get an idea of how these interact, take any “smart” thing as an example. A smartphone, smart car, smart thermostat, or even a smart toothbrush—anything electronic that has an embedded computer system to make it run. Both disciplines have to come together to make this smart object a reality.

In a smart car with touchscreen navigation, for example, a computer engineer will design the computer systems: the internal workings like the chips, microprocessors, and circuit boards, and the components like the screen, buttons, and menus the user interacts with. The software engineer then uses computer science theories to write the car’s operating system, the programs, applications like Pandora or a tire pressure monitoring system, and any network communications (say, how the car’s GPS communicates with nearby towers).

In Summary

What kind of work do you want to do? A good question to ask is how close to the actual hardware do you want your computing work to be? Professionals working with software that’s closer to the hardware—cell phones, calculators, smart devices, etc.—will have more of that granular engineering experience. But more high-level software design that isn’t as concerned with interfacing with the hardware—because it’s designed to run on an operating system like Windows or Linux—would be more of a computer science degree.

The key is where the two intersect—and how software engineering comes into play—and having a holistic understanding that’s more conducive to building better integrated systems into modern, networked devices.