SlideShare a Scribd company logo
1
AI-Driven Development
Mar, 2025
Created by Shafik Amin, Presented by: Shereef Marzouk
2
Outline
● Core concepts
● History
● Today
● Strengths / Weaknesses of AI
● GitHub Copilot
● Discussion and Q&A
● Live Demo
● Prompt Best Practices
● Discussion and Q&A
3
Core Concepts
● Artificial Intelligence: A very broad field in computer science
that was founded in 1956 which attempts to simulate human-
like intelligence in computers.
● LLM: A specific type of neural-network based AI model trained
on a vast amount of text data.
● Transformer Architecture: The neural-network architecture
used at the heart of LLMs, popularized by the landmark Google
2017 paper “Attention is all you need”.
● AI Agents: Software powered by LLMs that can interact with
digital environments, make decisions, and execute actions
autonomously.
● Hallucination: When an LLM generates plausible-sounding but
incorrect outputs.
4
History
● Computers have been assisting programmers with writing code since
the very beginning.
● It’s a story of ever-increasing abstraction and automation, freeing up
the programmer to spend more time solving higher-level problems, at
the cost of relinquishing control over the finer details.
● In the 1940s, programs were written directly in machine-code (binary
or hex)! The introduction of assemblers in the 1950s greatly improved
the “developer experience”.
● In the 1970s, IDEs were introduced which further improved
programming and made it less error-prone. Auto-complete was an
important feature.
● In the 2020s, LLM vendors quickly realized that code is something very
natural for LLMs to generate for 2 main reasons: code is “text-only” and
there was a huge amount of code publicly available for training.
5
History
Era Key Developments Impact
1940s–1950s Machine Code & Assembly Language Programmers wrote in binary or symbolic machine
code. Extremely low-level and error-prone.
1950s–1960s High-Level Languages (Fortran, COBOL, ALGOL) Introduced human-readable syntax, enabling focus
on logic and algorithms.
1950s–1960s Compilers & Interpreters Automated translation of high-level code to machine
code, speeding up development.
1960s–1970s Structured Programming & Modular Design (Pascal, C) Encouraged cleaner, reusable, and maintainable
code through functions and libraries.
1970s–1980s Integrated Development Environments (IDEs) Combined code editors, debuggers, and compilers
into a single interface.
1980s–1990s Object-Oriented Programming (C++, Java, Python) Introduced classes, objects, and inheritance for
modeling real-world entities.
1990s–2000s Open Source & Libraries (Linux, Apache, NumPy, jQuery) Enabled collaborative development and reuse of
pre-built functionality.
2000s Version Control & Collaboration Tools (Git, GitHub) Allowed teams to track changes, collaborate, and
manage codebases effectively.
2010s Modern Developer Tools (VS Code, npm, pip, Cloud Platforms) Advanced features like IntelliSense, package
management, and cloud deployment.
2020s AI-Assisted Programming (GitHub Copilot, ChatGPT, LLMs) AI tools suggest code, generate functions, and assist
with debugging and documentation.
6
Today
LLM-based agents have
become incredibly good at
code generation.
Coding benchmarks like
HumanEval, MBPP,
CodeEditorBench, RobustAPI,
Arena-Hard, and others
suggest that LLMs have
already surpassed humans
in code-generation
capabilities.
7
Why are LLMs so good?
"Merely predicting the next token" is an oversimplification of the
Transformer architecture. Instead think of compressing the world's
knowledge into billions of neural-network weights. This creates a
deep model of reality.
LLMs are now much more than just a Transformer network:
advanced techniques are employed like Function-Calling, RAG,
Chain-Of-Thought, Mixture-Of-Experts, etc.
Massive Scale: Billions (or even Trillions?) of parameters/weights,
with mega-compute clusters for training and inference.
RLHF: Reinforcement Learning from Human Feedback.
All of this results in incredible emergent intelligence.
8
AI-powered coding assistants
There are now many different AI coding assistants to choose from,
usually in the form of IDE plugins:
• ChatGPT (especially newer models like o1-pro and o3-mini),
Claude 3.7 Sonnet, Gemini, DeepSeek, etc.
• Github Copilot
• Cody (by Sourcegraph)
• Cline (opensource coding Agent)
• Phind (search engine)
• Cursor (vscode fork)
• Tabnine
• Windsurf / Codeium
• Amazon Code Whisperer
• And many more: Lovable, v0, Replit, Devin, Softgen, ...
9
Strengths
• Code Completion: “autocomplete on steroids”.
• Function Generation:
o Especially "pure functions" that are side-effect free. The larger the context required, the
worse the quality of output.
• Test Creation:
o Especially tests for pure functions and side-effect free code.
• Documentation Creation:
o Generate API documentation, docstrings, READMEs, and more.
• Boilerplate Code:
o Expand your definition of "boilerplate": AI is very good at generating things like project-
scaffolding, class-skeletons, for loops, API calls, etc.
• Debugging / Code Review:
o It can detect errors and bugs that are hard to spot by humans.
o Understanding existing code:
o It's easier to write code than to read it. AI can help clarify what a code snippet does,
especially when its context is local and not tied to many external dependencies.
10
Weaknesses
• Hallucinations: Output that seemscorrect but is incorrect or
nonsensical.
• Complex Architectural Decisions: especially when it comes to business-
related trade-offs.
• Understanding ambiguous requirements: and fitting them into the
specific business context.
• Ethical and Legal Considerations: Violating licensing or intellectual-
property laws.
• Security: Generating code with potential vulnerabilities (e.g. SQL
injection/etc).
• Visual Reasoning: generating visually-correct CSS, analyzing complex
images, generating advanced animations, etc.
11
Key Take-Aways
Modern AI coding assistants are a new tool for vastly
improving your productivity but use them with CAUTION.
The more localized the context, the better the output.
There’s no escaping it - if you opt out of AI, you’ll lose
efficiency relative to other developers and team members
who use it effectively.
”English is the hottest new programming language” -Andrej
Karpathy
12
Github Copilot
One of many AI coding assistants, designed to help you write and
generate code in many different scenarios.
Primarily available for VS Code, but there are plugins for other IDEs
as well (JetBrains, etc).
DaySmart will pay your monthly subscription!
Join the #copilot channel and submit a request
OR
Contact Shafik / Matt Pegler / Jason Kirk for access.
Make sure to include your github handle.
13
GitHub Copilot
Multiple features:
• Chat
• Copilot Edits
• Inline Chat/Edit
• Code Completion (press tab to accept)
• Source control: generate commit message
• Voice mode for the above (“vibe coding”)
• Copilot Menu (in multiple places)
• Coming soon: Agent Mode, similar to Cursor Composer
or Windsurf Cascade (executes commands).
• Coming soon: Copilot Pull-Request Review.
• Coming soonish: Autonomous SWE
Project Padawan
14
Discussion and Q&A
15
Live Demo
16
GitHub Copilot - Chat
Participants
Attach
context / files.
Voice mode
Model picker
17
GitHub Copilot - Edits
Agent Mode
(coming soon)
Agent/Edit
18
GitHub Copilot - Edits
19
GitHub Copilot – Inline Chat/Edit
20
GitHub Copilot – Code Completion
21
GitHub Copilot – Commit Messages
Generate Commit Message
22
GitHub Copilot – Menu
23
Prompt Best Practices - Code Generation
Be concise and specific about the task (what the code should do) and
include details like the language, function/class name if applicable, and
any requirements (algorithms, libraries, edge cases). If you expect a
certain style or format (comments, docstring, etc.), say so.
Good Prompt: "Writea Python function factorial(n) that calculatesa number’s
factorial. It should use recursion and handle the case of negative inputs by
returning an error message.”
This prompt clearly specifies the language (Python), the function name
and purpose (calculate factorial), and includes requirements (use
recursion, handle negative input). Such specific instructions help the AI
“hit the bullseye” in terms of what code to produce.
Bad Prompt: “Createa function to look for lines of code that are seenmultiple
times throughout the file and delete them.”
This can confuse the AI. Instead try “createafunction that eliminates duplicate
lines in a text file”.
24
Prompt Best Practices - Debugging
Provide the context of the problem, including the code (or the relevant
snippet) and a description of the error or unexpected behavior. If there’s
an error message, include it. Asking the assistant to both find the root
cause and suggest a fix can be very effective.
Good Prompt: "I have a bug in the following function; it’s supposed to parse
JSON but is throwing an Unexpected token error. Identify the bug and fix it and
explain what was wrong.
Bad Prompt: ”This code is broken. How do I fix it?"
25
Prompt Best Practices - Refactoring
Frame your prompt to include the goals of refactoring (e.g. improve
efficiency, readability, adhere to style guidelines. It’s important to mention
that functionality should remain unchanged.
Good Prompt: "Refactor this to improve its readability and efficiency without
changing its functionality. Use best practicesandadd comments.”
Bad Prompt: ”Make this code better.”
26
Prompt Best Practices – Code Explanation
Context is everything. Tell the AI what code or concept needs explaining,
and specify the depth of explanation or format. E.g. ask for a plain-English
summary, a line-by-line explanation, or a docstring/comment for the
code.
Indicate the audience if relevant (e.g. “for a beginner” vs. “for experienced
developers”).
Good Prompt: "Explain this code step by step, in simple terms, and
describe what it does to a beginner audience.”
Bad Prompt: “What does this do?”
27
Prompt Best Practices – Writing Tests
Specify the scope of testing, the framework or language, and either
provide the code to test or describe the functionality in detail. Indicate
whether you want unit tests, integration tests, or even edge-case
scenarios, and mention any specific libraries (like PyTest, JUnit, etc.) it
should use so that the format is correct.
Good Prompt: "Write unit tests for this function using PyTest. Include tests
for typical cases (e.g., 5 or 10), edge cases like 0 or negative input, and
verify that it raises an error for invalid inputs.”
Bad Prompt: “Test this code.”
28
GitHub Copilot – PR Review (coming soon)
Select Copilot as Reviewer
29
Resources
• Perplexity AI (modern search)
• Youtube:
o Fireship
▪ https://www.youtube.com/c/Fireship
o Visual Studio Code channel:
▪ https://www.youtube.com/@code/videos
• Copilot itself:
o Ask the "@vscode" participant.
o Doesn't work very well yet ...
30
Discussion and Q&A
Ad

More Related Content

Similar to 2025-03-20 - How to use AI to your advantage - AI-Driven Development.pdf (20)

NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
Tom Johnson
 
Java Developers - What Lies Ahead in the AI era
Java Developers - What Lies Ahead in the AI eraJava Developers - What Lies Ahead in the AI era
Java Developers - What Lies Ahead in the AI era
Emily Jiang
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
intouchgroup2
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
 
SEO consultant Dubai
SEO consultant DubaiSEO consultant Dubai
SEO consultant Dubai
LampMedia Tech
 
SEO packages Dubai
SEO packages DubaiSEO packages Dubai
SEO packages Dubai
LampMedia Tech
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
benDesigning
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
EmilyJiang23
 
Introduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdfIntroduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdf
AnassElHousni
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
Yuri Visser
 
C++Basics2022.pptx
C++Basics2022.pptxC++Basics2022.pptx
C++Basics2022.pptx
Danielle780357
 
Agents for SW development - Berkeley LLM AI Agents MOOC
Agents for SW development  - Berkeley LLM AI Agents MOOCAgents for SW development  - Berkeley LLM AI Agents MOOC
Agents for SW development - Berkeley LLM AI Agents MOOC
VincentLui15
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
Andrea Tino
 
[KZ] Web Ecosystem with Multimodality of Gemini.pptx
[KZ] Web Ecosystem with Multimodality of Gemini.pptx[KZ] Web Ecosystem with Multimodality of Gemini.pptx
[KZ] Web Ecosystem with Multimodality of Gemini.pptx
asemaialmanbetova
 
Top 10 python ide
Top 10 python ideTop 10 python ide
Top 10 python ide
Saravanakumar viswanathan
 
Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley - Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley -
Talent42
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
Tom Johnson
 
Java Developers - What Lies Ahead in the AI era
Java Developers - What Lies Ahead in the AI eraJava Developers - What Lies Ahead in the AI era
Java Developers - What Lies Ahead in the AI era
Emily Jiang
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
Docker, Inc.
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
intouchgroup2
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
benDesigning
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
EmilyJiang23
 
Introduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdfIntroduction-to-C-Part-1.pdf
Introduction-to-C-Part-1.pdf
AnassElHousni
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
Yuri Visser
 
Agents for SW development - Berkeley LLM AI Agents MOOC
Agents for SW development  - Berkeley LLM AI Agents MOOCAgents for SW development  - Berkeley LLM AI Agents MOOC
Agents for SW development - Berkeley LLM AI Agents MOOC
VincentLui15
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
Andrea Tino
 
[KZ] Web Ecosystem with Multimodality of Gemini.pptx
[KZ] Web Ecosystem with Multimodality of Gemini.pptx[KZ] Web Ecosystem with Multimodality of Gemini.pptx
[KZ] Web Ecosystem with Multimodality of Gemini.pptx
asemaialmanbetova
 
Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley - Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley -
Talent42
 

Recently uploaded (20)

Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Ad

2025-03-20 - How to use AI to your advantage - AI-Driven Development.pdf

  • 1. 1 AI-Driven Development Mar, 2025 Created by Shafik Amin, Presented by: Shereef Marzouk
  • 2. 2 Outline ● Core concepts ● History ● Today ● Strengths / Weaknesses of AI ● GitHub Copilot ● Discussion and Q&A ● Live Demo ● Prompt Best Practices ● Discussion and Q&A
  • 3. 3 Core Concepts ● Artificial Intelligence: A very broad field in computer science that was founded in 1956 which attempts to simulate human- like intelligence in computers. ● LLM: A specific type of neural-network based AI model trained on a vast amount of text data. ● Transformer Architecture: The neural-network architecture used at the heart of LLMs, popularized by the landmark Google 2017 paper “Attention is all you need”. ● AI Agents: Software powered by LLMs that can interact with digital environments, make decisions, and execute actions autonomously. ● Hallucination: When an LLM generates plausible-sounding but incorrect outputs.
  • 4. 4 History ● Computers have been assisting programmers with writing code since the very beginning. ● It’s a story of ever-increasing abstraction and automation, freeing up the programmer to spend more time solving higher-level problems, at the cost of relinquishing control over the finer details. ● In the 1940s, programs were written directly in machine-code (binary or hex)! The introduction of assemblers in the 1950s greatly improved the “developer experience”. ● In the 1970s, IDEs were introduced which further improved programming and made it less error-prone. Auto-complete was an important feature. ● In the 2020s, LLM vendors quickly realized that code is something very natural for LLMs to generate for 2 main reasons: code is “text-only” and there was a huge amount of code publicly available for training.
  • 5. 5 History Era Key Developments Impact 1940s–1950s Machine Code & Assembly Language Programmers wrote in binary or symbolic machine code. Extremely low-level and error-prone. 1950s–1960s High-Level Languages (Fortran, COBOL, ALGOL) Introduced human-readable syntax, enabling focus on logic and algorithms. 1950s–1960s Compilers & Interpreters Automated translation of high-level code to machine code, speeding up development. 1960s–1970s Structured Programming & Modular Design (Pascal, C) Encouraged cleaner, reusable, and maintainable code through functions and libraries. 1970s–1980s Integrated Development Environments (IDEs) Combined code editors, debuggers, and compilers into a single interface. 1980s–1990s Object-Oriented Programming (C++, Java, Python) Introduced classes, objects, and inheritance for modeling real-world entities. 1990s–2000s Open Source & Libraries (Linux, Apache, NumPy, jQuery) Enabled collaborative development and reuse of pre-built functionality. 2000s Version Control & Collaboration Tools (Git, GitHub) Allowed teams to track changes, collaborate, and manage codebases effectively. 2010s Modern Developer Tools (VS Code, npm, pip, Cloud Platforms) Advanced features like IntelliSense, package management, and cloud deployment. 2020s AI-Assisted Programming (GitHub Copilot, ChatGPT, LLMs) AI tools suggest code, generate functions, and assist with debugging and documentation.
  • 6. 6 Today LLM-based agents have become incredibly good at code generation. Coding benchmarks like HumanEval, MBPP, CodeEditorBench, RobustAPI, Arena-Hard, and others suggest that LLMs have already surpassed humans in code-generation capabilities.
  • 7. 7 Why are LLMs so good? "Merely predicting the next token" is an oversimplification of the Transformer architecture. Instead think of compressing the world's knowledge into billions of neural-network weights. This creates a deep model of reality. LLMs are now much more than just a Transformer network: advanced techniques are employed like Function-Calling, RAG, Chain-Of-Thought, Mixture-Of-Experts, etc. Massive Scale: Billions (or even Trillions?) of parameters/weights, with mega-compute clusters for training and inference. RLHF: Reinforcement Learning from Human Feedback. All of this results in incredible emergent intelligence.
  • 8. 8 AI-powered coding assistants There are now many different AI coding assistants to choose from, usually in the form of IDE plugins: • ChatGPT (especially newer models like o1-pro and o3-mini), Claude 3.7 Sonnet, Gemini, DeepSeek, etc. • Github Copilot • Cody (by Sourcegraph) • Cline (opensource coding Agent) • Phind (search engine) • Cursor (vscode fork) • Tabnine • Windsurf / Codeium • Amazon Code Whisperer • And many more: Lovable, v0, Replit, Devin, Softgen, ...
  • 9. 9 Strengths • Code Completion: “autocomplete on steroids”. • Function Generation: o Especially "pure functions" that are side-effect free. The larger the context required, the worse the quality of output. • Test Creation: o Especially tests for pure functions and side-effect free code. • Documentation Creation: o Generate API documentation, docstrings, READMEs, and more. • Boilerplate Code: o Expand your definition of "boilerplate": AI is very good at generating things like project- scaffolding, class-skeletons, for loops, API calls, etc. • Debugging / Code Review: o It can detect errors and bugs that are hard to spot by humans. o Understanding existing code: o It's easier to write code than to read it. AI can help clarify what a code snippet does, especially when its context is local and not tied to many external dependencies.
  • 10. 10 Weaknesses • Hallucinations: Output that seemscorrect but is incorrect or nonsensical. • Complex Architectural Decisions: especially when it comes to business- related trade-offs. • Understanding ambiguous requirements: and fitting them into the specific business context. • Ethical and Legal Considerations: Violating licensing or intellectual- property laws. • Security: Generating code with potential vulnerabilities (e.g. SQL injection/etc). • Visual Reasoning: generating visually-correct CSS, analyzing complex images, generating advanced animations, etc.
  • 11. 11 Key Take-Aways Modern AI coding assistants are a new tool for vastly improving your productivity but use them with CAUTION. The more localized the context, the better the output. There’s no escaping it - if you opt out of AI, you’ll lose efficiency relative to other developers and team members who use it effectively. ”English is the hottest new programming language” -Andrej Karpathy
  • 12. 12 Github Copilot One of many AI coding assistants, designed to help you write and generate code in many different scenarios. Primarily available for VS Code, but there are plugins for other IDEs as well (JetBrains, etc). DaySmart will pay your monthly subscription! Join the #copilot channel and submit a request OR Contact Shafik / Matt Pegler / Jason Kirk for access. Make sure to include your github handle.
  • 13. 13 GitHub Copilot Multiple features: • Chat • Copilot Edits • Inline Chat/Edit • Code Completion (press tab to accept) • Source control: generate commit message • Voice mode for the above (“vibe coding”) • Copilot Menu (in multiple places) • Coming soon: Agent Mode, similar to Cursor Composer or Windsurf Cascade (executes commands). • Coming soon: Copilot Pull-Request Review. • Coming soonish: Autonomous SWE Project Padawan
  • 16. 16 GitHub Copilot - Chat Participants Attach context / files. Voice mode Model picker
  • 17. 17 GitHub Copilot - Edits Agent Mode (coming soon) Agent/Edit
  • 19. 19 GitHub Copilot – Inline Chat/Edit
  • 20. 20 GitHub Copilot – Code Completion
  • 21. 21 GitHub Copilot – Commit Messages Generate Commit Message
  • 23. 23 Prompt Best Practices - Code Generation Be concise and specific about the task (what the code should do) and include details like the language, function/class name if applicable, and any requirements (algorithms, libraries, edge cases). If you expect a certain style or format (comments, docstring, etc.), say so. Good Prompt: "Writea Python function factorial(n) that calculatesa number’s factorial. It should use recursion and handle the case of negative inputs by returning an error message.” This prompt clearly specifies the language (Python), the function name and purpose (calculate factorial), and includes requirements (use recursion, handle negative input). Such specific instructions help the AI “hit the bullseye” in terms of what code to produce. Bad Prompt: “Createa function to look for lines of code that are seenmultiple times throughout the file and delete them.” This can confuse the AI. Instead try “createafunction that eliminates duplicate lines in a text file”.
  • 24. 24 Prompt Best Practices - Debugging Provide the context of the problem, including the code (or the relevant snippet) and a description of the error or unexpected behavior. If there’s an error message, include it. Asking the assistant to both find the root cause and suggest a fix can be very effective. Good Prompt: "I have a bug in the following function; it’s supposed to parse JSON but is throwing an Unexpected token error. Identify the bug and fix it and explain what was wrong. Bad Prompt: ”This code is broken. How do I fix it?"
  • 25. 25 Prompt Best Practices - Refactoring Frame your prompt to include the goals of refactoring (e.g. improve efficiency, readability, adhere to style guidelines. It’s important to mention that functionality should remain unchanged. Good Prompt: "Refactor this to improve its readability and efficiency without changing its functionality. Use best practicesandadd comments.” Bad Prompt: ”Make this code better.”
  • 26. 26 Prompt Best Practices – Code Explanation Context is everything. Tell the AI what code or concept needs explaining, and specify the depth of explanation or format. E.g. ask for a plain-English summary, a line-by-line explanation, or a docstring/comment for the code. Indicate the audience if relevant (e.g. “for a beginner” vs. “for experienced developers”). Good Prompt: "Explain this code step by step, in simple terms, and describe what it does to a beginner audience.” Bad Prompt: “What does this do?”
  • 27. 27 Prompt Best Practices – Writing Tests Specify the scope of testing, the framework or language, and either provide the code to test or describe the functionality in detail. Indicate whether you want unit tests, integration tests, or even edge-case scenarios, and mention any specific libraries (like PyTest, JUnit, etc.) it should use so that the format is correct. Good Prompt: "Write unit tests for this function using PyTest. Include tests for typical cases (e.g., 5 or 10), edge cases like 0 or negative input, and verify that it raises an error for invalid inputs.” Bad Prompt: “Test this code.”
  • 28. 28 GitHub Copilot – PR Review (coming soon) Select Copilot as Reviewer
  • 29. 29 Resources • Perplexity AI (modern search) • Youtube: o Fireship ▪ https://www.youtube.com/c/Fireship o Visual Studio Code channel: ▪ https://www.youtube.com/@code/videos • Copilot itself: o Ask the "@vscode" participant. o Doesn't work very well yet ...