9/4/13 ¡ Administrivia ¡ CMSC ¡110: ¡Introduc/on ¡to ¡Compu/ng ¡ Fall ¡2013 ¡ ¡ Course ¡Website: ¡h=p://www.cs.brynmawr.edu ¡ ¡ Instructor: ¡ Jia ¡Tao, ¡Ph.D. ¡(jtao@cs.brynmawr.edu) ¡ CMSC ¡110 ¡ ¡ Lectures ¡ Grading ¡ Introduc/on ¡to ¡Compu/ng ¡ MW ¡2:30p ¡to ¡4:00p ¡in ¡Park ¡338 ¡ • 7 ¡Assignments ¡ ¡56% ¡ ¡ • Exam ¡1 ¡ ¡18% ¡ TA-‑Support ¡ • Exam ¡2 ¡ ¡26% ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ >20 ¡hrs/week ¡in ¡Park ¡231 ¡ ¡Total ¡ ¡ ¡100% ¡ ¡ ¡ Open ¡Labs ¡(OpMonal) ¡ Wed ¡10:00pm ¡to ¡Noon ¡in ¡Park ¡231 ¡ ¡ Office ¡Hours ¡ Mondays ¡4pm-‑6pm ¡ Thursdays ¡3:45pm-‑5:45pm ¡ ¡ Administrivia ¡ Class ¡Lo=ery ¡ ¡ SoIware ¡ • Make ¡sure ¡to ¡sign-‑in ¡your ¡name. ¡ Processing ¡2.X ¡ ¡ Already ¡installed ¡in ¡the ¡CS ¡Lab ¡ – – Also ¡available ¡for ¡your ¡own ¡computer ¡@ ¡ • If ¡you ¡are ¡not ¡“in” ¡the ¡lofery, ¡indicate ¡that. ¡ www.processing.org ¡ We ¡will ¡contact ¡you ¡by ¡e-‑mail ¡as ¡soon ¡as ¡we ¡ Processing ¡== ¡Java ¡ – ¡ have ¡confirmaMon ¡from ¡other ¡students. ¡ Book ¡ Crea/ve ¡Coding ¡& ¡Genera/ve ¡Art ¡in ¡Processing ¡2 ¡ by ¡Ira ¡Greenberg, ¡Dianna ¡Xu, ¡Deepak ¡Kumar, ¡ friendsofEd/APress, ¡2013. ¡Available ¡at ¡the ¡ Campus ¡Bookstore ¡or ¡amazon.com ¡or ¡other ¡ vendors. ¡ Compu/ng: ¡Your ¡Parent’s ¡View ¡ What ¡is ¡Compu/ng? ¡ 1 ¡
9/4/13 ¡ Compu/ng: ¡internet, ¡e-‑mail, ¡ network… ¡ hfp://www.alanzeyes.com/2009/02/hdr-‑photography.html ¡ Compu/ng : ¡Entertainment… ¡ Compu/ng: ¡Entertainment… ¡ Cuhng ¡Edge ¡Computer ¡Science ¡ ¡ -‑ ¡Edsger ¡Dijkstra ¡ 2 ¡
9/4/13 ¡ Google’s ¡Autonomous ¡Car ¡ • Nevada made it legal for autonomous cars to drive on roads in June 2011 • California introduced a similar bill in Aug 2012 Robot Soccer 2011 ¡Jeopardy! ¡ Aibo League • In ¡February ¡2011, ¡IBM ¡Watson ¡bested ¡Brad ¡Rufer ¡(biggest ¡all-‑Mme ¡money ¡ Humanoid League winner) ¡and ¡Ken ¡Jennings ¡(longest ¡winning ¡streak) ¡ • IBM ¡is ¡currently ¡applying ¡Watson’s ¡technology ¡to ¡medical ¡diagnosis ¡and ¡legal ¡ RoboCup International Robotics Competition research ¡ http://www.robocup.org/ Bryn Mawr Robot Soccer Team (Mexico 2012) Areas ¡in ¡Computer ¡Science ¡ Computer ¡ ArMficial ¡ RoboMcs ¡ Human-‑Computer ¡ Computer ¡ Intelligence ¡ InteracMon ¡ Graphics ¡ Vision ¡ OperaMng ¡ Computer ¡ Databases ¡ Computer ¡ Ubiquitous ¡ Systems ¡ Networking ¡ Security ¡ CompuMng ¡ Protobytes ¡ By ¡Ira ¡Greenberg ¡ 3 ¡
9/4/13 ¡ What ¡is ¡Computer ¡Science? ¡ Computer ¡science ¡is ¡the ¡ ¡ study ¡of ¡solving ¡problems ¡ ¡ using ¡computaMon ¡ – Computers ¡are ¡part ¡of ¡it, ¡ CompuMng ¡is ¡important ¡ but ¡the ¡emphasis ¡is ¡on ¡the ¡ ¡ problem ¡solving ¡aspect ¡ Computer ¡scienMsts ¡work ¡across ¡disciplines: ¡ MathemaMcs ¡ Geoscience ¡ Medicine/Surgery ¡ ¡ Biology ¡(bioinformaMcs) ¡ Archeology ¡ Engineering ¡ Chemistry ¡ Psychology ¡ LinguisMcs ¡ Physics ¡ Sociology ¡ Art ¡ Geology ¡ CogniMve ¡Science ¡ … ¡ CompuMng ¡is ¡Consistently ¡Ranked ¡ Huge ¡Growth ¡in ¡CompuMng-‑Related ¡Jobs ¡ Among ¡the ¡Best ¡OccupaMons ¡ CS-‑Related ¡Jobs ¡Highlighted ¡in ¡Red ¡ CNN’s ¡Top ¡100 ¡Jobs ¡2010 ¡ ¡ The ¡25 ¡Best ¡ (Graphic ¡by ¡Focus.com) ¡ Jobs ¡of ¡2012 ¡ #1 ¡ Registered ¡Nurse ¡ #6 ¡ Web ¡Developer ¡ #2 ¡ Sotware ¡Developer ¡ #7 ¡ Computer ¡Systems ¡Analyst ¡ #3 ¡ Pharmacist ¡ #8 ¡ Physical ¡Therapist ¡ #4 ¡ Medical ¡Assistant ¡ #9 ¡ Computer ¡Programmer ¡ #5 ¡ Database ¡Administrator ¡ #10 ¡ OccupaMonal ¡Therapist ¡ CS ¡Careers ¡Rank ¡Highly ¡In: ¡ ¡ • Job ¡saMsfacMon ¡ • Growth ¡potenMal ¡ • Salary ¡ • Employment ¡rate ¡ • Work/life ¡balance ¡ • Work ¡environment ¡ Strong ¡Earnings ¡PotenMal ¡ Salaries ¡of ¡Bryn ¡Mawr ¡Graduates ¡ Computer ¡Science ¡Dept ¡ All ¡Science ¡Depts ¡ College ¡Average ¡ $120,000 ¡ $66,667 ¡ $57,134 ¡ Average ¡Individual ¡Annual ¡Income ¡ Office ¡of ¡InsAtuAonal ¡Research, ¡Planning, ¡and ¡Assessment ¡ Bryn ¡Mawr ¡College ¡ …many ¡different ¡companies ¡… ¡need ¡to ¡hire ¡computer ¡scienMsts. ¡ They ¡aren't ¡Med ¡to ¡one ¡parMcular ¡industry. ¡ 4 ¡
9/4/13 ¡ Crea/ve ¡ Algorithms ¡ Introduc/on ¡to ¡^ ¡Compu/ng ¡ An ¡ algorithm ¡is ¡an ¡effecMve ¡method ¡for ¡solving ¡a ¡ Compu/ng ¡ problem ¡expressed ¡as ¡a ¡finite ¡sequence ¡of ¡ instrucMons. ¡For ¡example, ¡ ¡ Visualiza /ons ¡ Programming ¡ ¡ Put ¡on ¡shoes ¡ ¡ let ¡sock ¡ Aesthe/cs ¡& ¡ Algorithms ¡ Art ¡ ¡right ¡sock ¡ ¡let ¡shoe ¡ ¡right ¡shoe ¡ Processing/ Computa/onal ¡ Java ¡ Media ¡ Programming ¡= ¡Wri/ng ¡Apps ¡ A ¡program ¡ int areaOfCircle(int radius){ Programming ¡is ¡the ¡process ¡of ¡designing, ¡ return PI*radius*radius; wriMng, ¡tesMng, ¡debugging ¡/ ¡troubleshooMng, ¡ } and ¡maintaining ¡the ¡source ¡code ¡of ¡computer ¡ r = 10; programs. ¡This ¡source ¡code ¡is ¡wrifen ¡in ¡a ¡ area = areaOfCircle(r); programming ¡language. ¡ Programming ¡Languages ¡ A ¡more ¡interes/ng ¡program... ¡ Eye ¡e1, ¡e2, ¡e3, ¡e4, ¡e5; ¡ ¡ ¡ class ¡Eye ¡ ¡ void ¡setup() ¡ ¡ { ¡ { ¡ ¡ ¡int ¡ex, ¡ey; ¡ ¡ ¡size(200, ¡200); ¡ ¡ ¡int ¡size; ¡ ¡ ¡smooth(); ¡ ¡ ¡float ¡angle ¡= ¡0.0; ¡ ¡ ¡noStroke(); ¡ ¡ ¡ ¡ ¡ ¡e1 ¡= ¡new ¡Eye( ¡50, ¡ ¡16, ¡ ¡80); ¡ ¡ ¡Eye(int ¡x, ¡int ¡y, ¡int ¡s) ¡{ ¡ Processing ¡ Python ¡ Lisp ¡ ¡ ¡e2 ¡= ¡new ¡Eye( ¡64, ¡ ¡85, ¡ ¡40); ¡ ¡ ¡ ¡ ¡ ¡ ¡ex ¡= ¡x; ¡ ¡ ¡e3 ¡= ¡new ¡Eye( ¡90, ¡200, ¡120); ¡ ¡ ¡ ¡ ¡ey ¡= ¡y; ¡ ¡ ¡e4 ¡= ¡new ¡Eye(150, ¡ ¡44, ¡ ¡40); ¡ ¡ ¡ ¡ ¡ ¡size ¡= ¡s; ¡ int areaOfCircle(int radius){ def areaOfCircle(radius): (defun areaOfCircle (radius) return PI*radius*radius; return PI*radius*radius; (return (* PI radius radius))) ¡ ¡e5 ¡= ¡new ¡Eye(175, ¡120, ¡ ¡80); ¡ ¡} ¡// ¡Eye() ¡ } } ¡// ¡setup() ¡ ¡ ¡ ¡ ¡void ¡update(int ¡mx, ¡int ¡my) ¡{ ¡ r = 10; r = 10 (setq r 10) void ¡draw() ¡ ¡ ¡ ¡ ¡ ¡angle ¡= ¡atan2(my-‑ey, ¡mx-‑ex); ¡ area = areaOfCircle(r); area = areaOfCircle(r) (setq area (areaOfCircle r)) { ¡ ¡ ¡} ¡// ¡update() ¡ ¡ ¡ ¡ ¡background(102); ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡void ¡display() ¡{ ¡ ¡ ¡e1.update(mouseX, ¡mouseY); ¡ ¡ ¡ ¡ ¡pushMatrix(); ¡ ¡ ¡e2.update(mouseX, ¡mouseY); ¡ ¡ ¡ ¡ ¡translate(ex, ¡ey); ¡ ¡ ¡e3.update(mouseX, ¡mouseY); ¡ ¡ ¡ ¡ ¡fill(255); ¡ ¡ ¡e4.update(mouseX, ¡mouseY); ¡ ¡ ¡ ¡ ¡ellipse(0, ¡0, ¡size, ¡size); ¡ ¡ ¡e5.update(mouseX, ¡mouseY); ¡ ¡ ¡ ¡ ¡rotate(angle); ¡ ¡ ¡ ¡ ¡ ¡fill(153); ¡ ¡ ¡e1.display(); ¡ ¡ ¡ ¡ ¡ellipse(size/4, ¡0, ¡size/2, ¡size/2); ¡ ¡ ¡e2.display(); ¡ ¡ ¡ ¡ ¡popMatrix(); ¡ ¡ ¡e3.display(); ¡ ¡ ¡} ¡// ¡display() ¡ ¡ ¡e4.display(); ¡ } ¡// ¡class ¡Eye ¡ ¡ ¡e5.display(); ¡ ¡ } ¡// ¡draw() ¡ 5 ¡
9/4/13 ¡ Crea/ve ¡ Our ¡Goal ¡ Introduc/on ¡to ¡^ ¡Compu/ng ¡ • Use ¡compuMng ¡to ¡realize ¡works ¡of ¡art ¡ Compu/ng ¡ ¡ • Explore ¡new ¡metaphors ¡from ¡compuMng: ¡ Visualiza /ons ¡ Programming ¡ images, ¡animaMon, ¡interacMvity, ¡visualizaMons ¡ ¡ • Learn ¡the ¡basics ¡of ¡compuMng ¡ Aesthe/cs ¡& ¡ Algorithms ¡ ¡ Art ¡ • Have ¡fun ¡doing ¡all ¡of ¡the ¡above! ¡ ¡ Processing/ Computa/onal ¡ Java ¡ Media ¡ Shepard ¡Fairey ¡ Examples ¡ Sample ¡Assignment ¡ 6 ¡
Recommend
More recommend