Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
CSC305 Lecture 06
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Programming
0
230
CSC305 Lecture 06
Individual Software Design and Development
Libraries II
(202409)
Javier Gonzalez-Sanchez
PRO
October 03, 2025
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC509 Lecture 06
javiergs
PRO
0
260
CSC509 Lecture 05
javiergs
PRO
0
300
CSC509 Lecture 04
javiergs
PRO
0
300
CSC305 Lecture 05
javiergs
PRO
0
210
CSC509 Lecture 03
javiergs
PRO
0
340
CSC305 Lecture 04
javiergs
PRO
0
270
CSC305 Lecture 03
javiergs
PRO
0
240
CSC305 Lecture 02
javiergs
PRO
1
270
CSC509 Lecture 01
javiergs
PRO
1
440
Other Decks in Programming
See All in Programming
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.4k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.1k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
180
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
440
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
750
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
チームの境界をブチ抜いていけ
tokai235
0
170
Go言語はstack overflowの夢を見るか?
logica0419
0
270
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.3k
Featured
See All Featured
Side Projects
sachag
455
43k
A better future with KSS
kneath
239
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
The Cult of Friendly URLs
andyhume
79
6.6k
Designing Experiences People Love
moore
142
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info office: 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 mouseReleased(MouseEvent e) { } • public void mouseEntered(MouseEvent e) { } • public void mouseExited(MouseEvent e) { } • public void mouseDragged(MouseEvent me) { } • public void mouseMoved(MouseEvent e) { } 17
MouseMotionListener • public void mouseDragged(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.