Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSC305 Lecture 06
Search
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
360
0
Share
CSC305 Lecture 06
Individual Software Design and Development
Libraries II
(202409)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC307 Lecture 21
javiergs
PRO
0
47
CSC307 Lecture 17
javiergs
PRO
0
310
CSC305 Lecture 18
javiergs
PRO
0
370
final project
javiergs
PRO
0
110
CSC305 Lecture 18
javiergs
PRO
0
76
CSC307_L17_mqtt.pdf
javiergs
PRO
0
53
UP Lecture 28
javiergs
PRO
0
48
CSC307_L99_TDD.pdf
javiergs
PRO
0
60
CSC307_L99_TDD.pdf
javiergs
PRO
0
56
Other Decks in Programming
See All in Programming
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
200
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
260
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
340
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
New "Type" system on PicoRuby
pocke
1
400
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
280
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
110
Swiftのレキシカルスコープ管理
kntkymt
0
210
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
2.6k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to build a perfect <img>
jonoalderson
1
5.5k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
830
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
710
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Rails Girls Zürich Keynote
gr2m
96
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 305 Individual Software Design and Development Lecture 06. Libraries II
Example Paint Application
Step 1 3
Step 2 4
Step 3. Undo 5
Step 4. Erase 6
Step by Step Paint Application
Release 1. GUI 8
None
Release 2. Action Listeners 10
None
Release 3. Draw Area 12
None
None
Release 4. Mouse Listeners 15
None
MouseListener • public void mousePressed (MouseEvent e) {} • public
void mouseClicked(MouseEvent e) { } • public void mouseRele a sed(MouseEvent e) { } • public void mouseEntered(MouseEvent e) { } • public void mouseExited(MouseEvent e) { } • public void mouseDr a gged(MouseEvent me) { } • public void mouseMoved(MouseEvent e) { } 17
MouseMotionListener • public void mouseDr a gged(MouseEvent me) { }
• public void mouseMoved(MouseEvent e) { } 18
Release 5. Draw + Mouse 19
None
Release 5. Stack of Shapes 21
Paint App (5 versions) 22 Review: https://github.com/CSC3100/App-Paint
Questions 23
Lab
Lab 25
CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.