Sequence Decision Repeation

Total Page:16

File Type:pdf, Size:1020Kb

Sequence Decision Repeation การเขียนโปรแกรมเบื5องต ้น (Introduction to Programming) http://www.thaiall.com/article/teachpro.htm การเขียนโปรแกรมเบื้องตน (Introduction to Programming) เว็บเพจสํารอง (Backup Webpages) : thaiabc.com | thaiall.korattown.com | perlphpasp.com | thaiall.com ปรับปรุง : 2555-01-23 (ปรับแกตัวอยาง pyramid) เรียนเขียนโปรแกรมระดับเทพ expert-programming-tutor.com Android C C++ JavaC# DataStructure เรียนเป็นระบบโดยเน ้นลงมือจริงทําจริ สารบัญ (Contents) ถารักจะเป็นนักคอมพิวเตอร .. ตองพยายามแบบ .. 1. แนวคิดการสอนเขียนโปรแกรม 2. ความหมายของ Structure Programming ฝนทั่งใหเป็นเข็ม 3. การเริ่มตนเขียนโปรแกรม sharpen an anVil to create a pin # 4. การบานคือ บันไดสูประสบการณ 5. ตัวอยางปิรามิด คือแบบฝึกหัดที่ยาก (เพิ่ม 4 ต.ย. สค.46) .. นักศึกษาของผม .. เวลาสอบตก จะพูดวา ถาพยายามจริง ๆ คงทําไดดีกวานีคงทําไดดีกวานี้้้้ 6. ตัวอยางโปรแกรมภาษา Pascal ผมก็จะถามวา กั๊กความพยายมของตน .. ไวทําไม 7. ตัวอยางโปรแกรมภาษา JaVa Script ขัขัขั้ขันตอนการเรียนรู้้้นตอนการเรียนรู เพื่เพื่่อเป็น่อเป็น Programmer 8. แบงระดับการเขียนโปรแกรม 4 ระดับ 1. เขียนโปรแกรมเบื้องตน 1 ภาษา ( Programming Language ) 9. แบบฝึกหัดสําหรับสอนการเขียนโปรแกรม (60 โจทย มค.47) 2. โครงสรางขอมูล ( Data Structures ) 10. โปรแกรมเมอรคนแรกของโลก (Augusta LoVelace Ada) 3. ระบบฐานขอมูล ( Database System ) 11. 143 ภาษาคอมพิวเตอร 4. การวิเคราะห และออกแบบระบบ ( System Analysis and Design ) 12. ภาษาคอมพิวเตอร (Time Line) 5. โครงงานนักศึกษา ( Student Project ) เพื่อฝึกปฏิบัติจริง เว็บเพจนี้ คือ ขั้นตอนที่ 1 สูการเป็น Programmer + ผูสนับสนุน ผูสนับสนุน + รับผูสนับสนุน 1. แนวคิดการสอนเขียนโปรแกรม หลายครั้งที่ผมตองเริ่มสอนเขียนโปรแกรม ใหนักเรียนกลุมใหม และก็ตองบอกเลา ดวยประโยคเดิมทุกครั้งวา "การเขียนโปรแกรม ทุกภาษานัทุกภาษานั้้้นน้นน เหมือนกันเหมือนกัน" สิ่งที่แตกตางกัน ของแตละภาษาคือ syntax แตสิ่งที่เหมือนกันของทุกภาษาคือ การใชประสบการณจากภาษาหนึง่ ไปใชในอีกภาษาหนึ่งได ดวยการซึมซับ เรื่องของ Structure Programming จนเขาใจ เพื่อควบคุมในสิ่งที่คลาย ๆ กันคือ input, process และ output ซึงหมายความวา่ ถาทาน เขียนโปรแกรมอะไร ในภาษาหนึงไดแลว่ การเขียนโปรแกรมแบบนั้น ในภาษาอื่นยอมไมใชเรื่องยากอีกตอไป เพียงแตตองศึกษาถึง syntax หรือ รูปแบบ การเขียนของภาษาใหมนั้นเพิ่มเติม แลวนําประสบการณที่เคยเขียน ไปสั่งใหภาษาใหมทํางานตามตองการ ผมจึงมักสนับสนุนใหนักเรียน ไดศึกษาภาษาที่ไม มีตัวชวยมาก เพื่อใหเขาใจในหลักการ และขั้นตอนการทํางาน อยางละเอียดชัดเจน จากการทํางานของตัวแปรภาษาที่มีตัวชวยนอย ทํางานบน dos สามารถ แปลเป็น exe และ นําไปใชไดโดยไมยุงยาก เชน c, pascal, basic, fox... หรือ clipper เป็นตน 2. ความหมายของ Structure Programming การโปรแกรมแบบมีโครงสราง หรือ การโปรแกรมโครงสราง คือ การกําหนดขั้นตอนใหเครื่องคอมพิวเตอรทํางานโดยมีโครงสรางการควบคุม พื้นฐาน 3 หลักการ ไดแก การทํางานแบบตามลําดับ(Sequence) การเลือกกระทําตามเงื่อนไข(Decision) และ การทําซํ้า(Loop) ตําราหลายเลมจะขยายความออกไปวา Decision แยกเป็น If และ Case สวน Loop แยกเป็น While และ Until ถาแยกใหละเอียดก็อาจไดถึง 5 หลักการ แตในที่นี้ขอนําเสนอไวเพียง 3 หลักการ ดังนี้ 2.1 การทํางานแบบตามลําดับ(Sequence) คือ การเขียนใหทํางานจากบนลงลาง เขียนคําสั่งเป็นบรรทัด และทําทีละบรรทัดจากบรรทัดบนสุดลง ไปจนถึงบรรทัดลางสุด สมมติใหมีการทํางาน 3 กระบวนการคือ อานขอมูล คํานวณ และพิมพ จะเขียนเป็นผังงาน(Flowchart) ในแบบตามลําดับไดตาม ภาพ 2.2 การเลือกกระทําตามเงืการเลือกกระทําตามเงื่่่อนไข(Decision)่อนไข(Decision) คือ การเขียนโปรแกรมเพื่อนําคาไปเลือกกระทํา โดยปกติจะมีเหตุการณใหทํา 2 กระบวนการ คือ เงื่อนไขเป็นจริงจะกระทํากระบวนการหนึ่ง และเป็นเท็จจะกระทําอีกกระบวนการหนึง่ แตถาซับซอนมากขึน้ จะตองใชเงื่อนไขหลายชั้น เชนการตัดเกรดนัก ศึกษา เป็นตน ตัวอยางผังงานนี้ จะแสดงผลการเลือกอยางงาย เพื่อกระทํากระบวนการเพียงกระบวนการเดียว 2.3 การทําซํการทําซํ้้้า(Repeation้า(Repeation or Loop) คือ การทํากระบวนการหนึงหลายครั้ง่ โดยมีเงื่อนไขในการควบคุม หมายถึงการทําซํ้าเป็นหลักการที่ทํา ความเขาใจไดยากกวา 2 รูปแบบแรก เพราะการเขียนโปรแกรมแตละภาษา จะไมแสดงภาพอยางชัดเจนเหมือนการเขียนผังงาน(Flowchart) ผูเขียน โปรแกรมตองจินตนาการ ถึงรูปแบบการทํางาน และใชคําสั่งควบคุมดวยตนเอง ตัวอยางผังงานที่นํามาแสดงนี้เป็นการแสดงคําสั่งทําซํ้า(do while) ซึงหมาย่ ถึงการทําซํ้าในขณะที่เป็นจริง และเลิกการทําซํ้าเมื่อเงื่อนไขเป็นเท็จ Sequence Decision Repeation รายละเอียดเพิ่มเติมที่ http://www.thaiall.com/flowchart 3. การเริการเริ่่่มตนเขียนโปรแกรม่มตนเขียนโปรแกรม X เริ่มตนเขียนโปรแกรม เริ่มตนตรงไหน : สําหรับผม เมื่อไดมาทําหนาที่สอนหนังสือ โดยเฉพาะการเขียนโปรแกรมทุกภาษา ผมจะสอนใหนักศึกษา เขียนโปรแกรมควบคุมตัวเลข เชนการพิมพ 1 ถึง 10 หรือ สูตรคูณ หรือปิรามิดของตัวเลข ที่ตองฝึกใช Structure Programming ใหชํานาญ และปัญหาก็ เกิดขึนทุกครั้ง้ คือ "นักเรียนบนวาไมชอบเขียน ไมมีประโยชน" หรือ "เขียนไมได ถึงเขียนได ก็ไมรูจะเขียนไปทําไม" แลวผมก็ตองกลับไปอธิบายอีกครั้งวา การเริ่มตนแบบนี้ "จะทําใหรูจักควบคุมโปรแกรม ตามหลักการของโปรแกรมแบบมีโครงสรางไดชํานาญขึน้ รูจักเรียนรู และแกปัญหาดวยตนเอง รวมทั้ง รูจักแกไข Syntax พื้นฐานไมใหผิดพลาด เมื่อสามารถเขียนโปรแกรมในระดับตอ ๆ ไปได" เริเริเริ่เริ่่มตนเขียนโปรแกรมทําอยางไร่มตนเขียนโปรแกรมทําอยางไร (จากหนังสือ พื้นฐานเว็บมาสเตอรบทที่ 17) 1. เลือกภาษา สําหรับนักเรียน นักศึกษานั้นงายที่จะเลือก เพราะอาจารยคอยชี้แนะ 2. หาแหลงขอมูลอางอิงจากหองสมุด ถาทานไมมีอะไรอยูในมือเลย คงนึกโครงสรางภาษาไมออกเป็นแน 1 จาก 7 25/9/2556 8:32 การเขียนโปรแกรมเบื5องต ้น (Introduction to Programming) http://www.thaiall.com/article/teachpro.htm 3. หาตัวแปลภาษา ทุกภาษาตองมีตัวแปลภาษา มีหลายภาษาที่ถูกสรางเป็น Free compiler ตองหาดู 4. เขียนโปรแกรมตัวแรกที่งาย เชน พิมพเลข 5 เป็นตน 5. ศึกษาการทําซํ้า และการเลือกตามเงื่อนไข เชนพิมพสูตรคูณ หรือพิมพ 1 ถึง 10 เป็นตน 6. ติดตอแฟมขอมูล เพื่ออานมาแสดงผล หรือปรับปรุงขอมูลได 7. เขียนเมนู เพื่อเลือกกระทําโปรแกรมตามตัวเลือก 8. ทํารายงานจากการเชื่อมแฟมหลายแฟม โดยกําหนดไดหลายตัวเลือก 9. เขียนโปรแกรมเพิ่มขอมูล เชน ซื้อ ขาย ยืม คืน หรือโปรแกรมลงทะเบียนนักศึกษาแตละภาคเรียนเป็นตน 10. สรางโปรแกรมขึนมาระบบหนึ้ ่งใหสมบูรณ (ความสมบูรณก็คือการสนองทุกความตองการของผูใช) 4. การบานคือ บันไดสูประสบการณ การบาน (Project) : การสั่งงานใหนักเรียนไดทํา เป็นสิ่งที่สําคัญมาก ผมไดเรียนแบบอาจารยที่เคยสอนผมเสมอ คือ สั่งงานเกือบทุกชั่วโมงเรียน ยก เวนเทศกาล หรือวันหยุดราชการ ที่เวนใหนักเรียนไดพักบาง สําหรับ project จะตองใชหลักการที่สําคัญทั้งหมดที่ไดเรียนมา หรือที่ศึกษาคนควาเพิ่มเติม ดวยตนเอง และตองใหญพอที่จะใชเวลาทําทั้งสัปดาหไมเสร็จ แตจะตองใชเวลาทําอยางตอเนื่อง ตลอดทั้งภาคเรียน การยอมรับคําวิงวอนใหลดงานของนัก เรียนนั้น อาจทําไดตามความเหมาะสม กับบทเรียนที่ไดสอนไป แตขนาดงานก็ไมควรนอยกวา การทําใหนักศึกษา ไดฝึกฝน และใชเวลาศึกษาดวยตนเอง (Self learning) อยางนอย 1 สัปดาห เพื่อทําใหโครงงานสําเร็จลุลวง และในบางวิชาของการเขียนโปรแกรม ควรมีโครงงานทั้งกอนสอบกลางภาค และปลาย ภาค คือมี Project 2 ชิ้น ในวิชานั้น และที่สําคัญที่สําคัญที่สุดสําหรับหลักการสั่งงานของผมคือ งานชิ้นใหญจะตองเป็นงานเดี่ยว เพื่อใหทุกคนไดมีโอกาสทํา ดวยตนเอง มีความภูมิใจในความสําเร็จ และเป็นผูรับผิดชอบขั้นตอนทั้งหมดดวยตนเอง ผมจะไมมอบ project ชิ้นใหญเป็นงานกลุม เพราะไมตองการใหนัก เรียนคนใดเลย พลาดขบวนการเรียนรู แมแตขั้นตอนเดียว และอาจารยจะตองมีเวลาที่จะตอบขอซักถามเสมอ เพราะบอยครั้งที่อาจจะสอนผิด สั่งงานผิด นัก เรียนนั่งหลับ นักเรียนจดผิด หนังสืออางอิงเขียนผิด หรือแมแตการตรวจงานผิดของอาจารย ก็เป็นได กรกฎาคม 2545 หลังจากผมสอนมาสิบปี พบวาการมอบหมายงานใหนักศึกษาไปทํางานในคอมพิวเตอรที่บาน โดยใหฝึกปฏิบัติดวยตนเอง ประสบ ความลมเหลวมาโดยตลอด เพราะมีนักศึกษาสวนหนึง่ ไมมีคอมพิวเตอร ไมสนใจที่จะเขียนโปรแกรม ไมตองการที่จะคิด และยอมแพ ทุกครั้งที่ใหเขียน โปรแกรมงาย ๆ ทั้ง ๆ ที่มีโปรแกรมยาก ๆ รออยูอีกมากมาย แตนักศึกษาทําไมได จึงนึกการใหงานแบบลาสุดออกคือ การใหลอกโปรแกรมดวยมือ เชน มีมีมี โปรแกรมงาย ๆ หรือควรรูอยู 15 โปรแกรม จึงมอบหมายใหลอกลงกระดาษลอกลงกระดาษลอกลงกระดาษลอกลงกระดาษ 4444 รอบรอบรอบรอบ และใหเสร็จในและใหเสร็จในและใหเสร็จในและใหเสร็จใน 1 สัปดาห ผลที่ไดคือนักศึกษาไดอานหนังสือ จดจํา รูปแบบภาษาไดมากขึน้ งานที่ใหลอกไมไดหยุดที่ 60 โปรแกรม แตมากขึน้ หรือนอยลงขึนกับความเขาใจ้ และเนื้อหาที่สอน การทําใหนักศึกษา คิดเป็น และ แกปัญหาโจทยได เป็นอีกปัญหาหนึงที่ตองสอนในหองปฏิบัติการ่ สวนการจํารูปแบบคําสั่งไมได แกไขไดดวยการสั่งใหลอกโปรแกรมเทานั้น ความคาดหวัง ของผูสอนวานักศึกษาจะตั้งใจเรียน แลวกลับไปทําคอมพิวเตอรที่บาน โดยไมลอกเพื่อนเพียงอยางเดียว ผมทํามา 10 ปี แตไมไดผลเลย 5. ตัวอยางโจทยปิรามิด คือแบบฝึกหัดทีคือแบบฝึกหัดที่ยากยากยาก่่่ยาก ตัวอยางปิรามิดทีตัวอยางปิรามิดที่่่่มอบหมายใหนักศึกษาไปเขียนมอบหมายใหนักศึกษาไปเขียน (ผมใชสอนในทุกภาษาที่ผมสอนทีเดียว) 1. 2. 3. 4. 11******11 123*** 15***** *1 22****22 234**** 26****** **212 33**33 345***** 37******* ***32123 4444 456****** 48******** ****4321234 Source Code .Java Source Code .Java Source Code .Java Source Code .Java 5. 6. (Java % and /) 7. 8. 11 1010101010101 111 123** 2**2 10101010101 12221 234*** 3****3 101010101 1233321 345**** 4******4 1010101 123444321 456***** 3****3 10101 12345554321 567****** 2**2 101 1234566654321 678******* 11 1 123456777654321 789******** 9. 10. 11. 12. 111111111 151 11 123456789 2222222 12421 2 2 2345678 33333 1233321 3 3 34567 444 123424321 4 4 456 5 12345154321 5 5 5 13. 14. 15. (2 * i - 1) 16. 987654321 12 21 11111 11111 1 * 7654321 23 32 2222 2222 21 ** 54321 34 43 333 333 321 *** 321 45 54 44 44 4321 **** 1 5665 5 5 54321***** X 17. 18. 19. 20. 19191919 1*1*****9 1*********5 1*1 28282828 2**2****8 2******** 4 22**22 37373737 3***3***7 3******* 3 333***333 46464646 4****4**6 4****** 2 4444****4444 55555555 5*****5*5 5***** 1 55555*****55555 2 จาก 7 25/9/2556 8:32 การเขียนโปรแกรมเบื5องต ้น (Introduction to Programming) http://www.thaiall.com/article/teachpro.htm 21. 22. 23. 24. *******1*7 *111111111* 1******1 1*1111111111 ******2**6 * 2222222 * 2***** 2 2***22222222 *****3***5 * 33333 * 3**** 3 3*****333333 ****4****4 * 444 * 4*** 4 4*******4444 ***5*****3 * 5 * 5** 5 5*********55 25. 26. 27. 28. ****5***** 11111* 1 * 54321*12345 ***444**** 2222** 2 ** 5432***2345 **33333*** 333*** 3 *** 543*****345 *2222222** 44**** 4 **** 54*******45 111111111* 5***** 5 ***** 5*********5 29. 30. 31. 32. 1*3*** *********1 11111*****
Recommended publications
  • Seaver 2001 Catalog
    GENERAL INFORMATION 1 PEPPERDINE UNIVERSITY Seaver College Catalog, 2001-2002 For More Information Requests for further information should be addressed to: Of fice of Admission, Seaver College Pe p p e r dine University Malibu, California 90263-4392 Telephone (310) 506-4392 Facsimile (310) 506-4861 General Information (310) 506-4000 ww w. p e p p e rd i n e . e d u Pe p p e r dine University, Volume Sixty-Four, Number One, March, 2001. Published by Pepperdine University, 24255 Pacific Coast Highway, Malibu, CA 90263-4392. An official publication of Pepperdine University, located at 24255 Pacific Coast Highway, Malibu, California 90263-4392. epperdine is a Christian university Pcommitted to the highest standards of academic excellence and Christian values, where students are strengthened for lives of purpose, service, and leadership. 8 As a Christian university, Pepperdine affirms: That God is That God is revealed uniquely in Christ That the educational process may not, with impunity, be divorced from the divine process That the student, as a person of infinite dignity, is the heart of the educational enterprise That the quality of student life is a valid concern of the University That truth, having nothing to fear from investigation, should be pursued relentlessly in every discipline That spiritual commitment, tolerating no excuse for mediocrity, demands the highest standards of academic excellence That freedom, whether spiritual, intellectual, or economic, is indivisible That knowledge calls, ultimately, for a life of service CONTENTS 3 CO N T E N T S Seaver College Academic Calendar. .4 Pr esident’s Message .
    [Show full text]
  • Writing Cybersecurity Job Descriptions for the Greatest Impact
    Writing Cybersecurity Job Descriptions for the Greatest Impact Keith T. Hall U.S. Department of Homeland Security Welcome Writing Cybersecurity Job Descriptions for the Greatest Impact Disclaimers and Caveats • Content Not Officially Adopted. The content of this briefing is mine personally and does not reflect any position or policy of the United States Government (USG) or of the Department of Homeland Security. • Note on Terminology. Will use USG terminology in this brief (but generally translatable towards Private Sector equivalents) • Job Description Usage. For the purposes of this presentation only, the Job Description for the Position Description (PD) is used synonymously with the Job Opportunity Announcement (JOA). Although there are potential differences, it is not material to the concepts presented today. 3 Key Definitions and Concepts (1 of 2) • What do you want the person to do? • Major Duties and Responsibilities. “A statement of the important, regular, and recurring duties and responsibilities assigned to the position” SOURCE: https://www.opm.gov/policy-data- oversight/classification-qualifications/classifying-general-schedule-positions/classifierhandbook.pdf • Major vs. Minor Duties. “Major duties are those that represent the primary reason for the position's existence, and which govern the qualification requirements. Typically, they occupy most of the employee's time. Minor duties generally occupy a small portion of time, are not the primary purpose for which the position was established, and do not determine qualification requirements” SOURCE: https://www.opm.gov/policy-data- oversight/classification-qualifications/classifying-general-schedule-positions/positionclassificationintro.pdf • Tasks. “Activities an employee performs on a regular basis in order to carry out the functions of the job.” SOURCE: https://www.opm.gov/policy-data-oversight/assessment-and-selection/job-analysis/job_analysis_presentation.pdf 4 Key Definitions and Concepts (2 of 2) • What do you want to see on resumes that qualifies them to do this work? • Competency.
    [Show full text]
  • The Λ Abroad a Functional Approach to Software Components
    The ¸ Abroad A Functional Approach To Software Components Een functionele benadering van software componenten (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de Rector Magni¯cus, Prof. dr W.H. Gispen, ingevolge het besluit van het College voor Promoties in het openbaar te verdedigen op dinsdag 4 november 2003 des middags te 12.45 uur door Daniel Johannes Pieter Leijen geboren op 7 Juli 1973, te Alkmaar promotor: Prof. dr S.D. Swierstra, Universiteit Utrecht. co-promotor: dr H.J.M. Meijer, Microsoft Research. The work in this thesis has been carried out under the auspices of the research school IPA (Institute for Programming research and Algorithmics), and has been ¯nanced by Ordina. Printed by Febodruk 2003. Cover illustration shows the heavily cratered surface of the planet Mercury, photographed by the mariner 10. ISBN 90-9017528-8 Contents Dankwoord ix 1 Overview 1 2 H/Direct: a binary language interface for Haskell 5 2.1 Introduction ................................ 5 2.2 Background ................................ 6 2.2.1 Using the host or foreign language ............... 7 2.2.2 Using an IDL ........................... 8 2.2.3 Overview ............................. 9 2.3 The Foreign Function Interface ..................... 12 2.3.1 Foreign static import and export ................ 12 2.3.2 Variations on the theme ..................... 13 2.3.3 Stable pointers and foreign objects ............... 14 2.3.4 Dynamic import ......................... 15 2.3.5 Dynamic export ......................... 15 2.3.6 Implementing dynamic export .................. 18 2.3.7 Related work ........................... 19 iv Contents 2.4 Translating IDL to Haskell ......................
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Oberon = Education + Innovation, Hong Kong Baptist University, 2016-11-30 1
    F.V.Tkachov, Oberon = Education + innovation, Hong Kong Baptist University, 2016-11-30 1 HONG KONG BAPTIST UNIVERSITY FACULTY OF SCIENCE Department of Computer Science Colloquium 2016 Series Oberon = Education + Innovation Dr. Fyodor Tkachov Leading researcher, Russian Academy of Sciences Date: November 30, 2016 (Wednesday) Time: 2:30 - 3:30 pm Venue: SCT909, Cha Chi Ming Science Tower, Ho Sin Hang Campus Abstract The Project Oberon by Niklaus Wirth (Turing Award, 1984) and Jurg Gutknecht (ETH, Zurich) summarizes the essence of programming in a minimalistic language and IDE that are in a stunning contrast with mainstream tools in regard of size, robustness, flexibility and smooth workflow. Oberon has been influencing the IT industry (Java, C#, Golang ...) and proves to be a perfect backbone for systematic programming education encompassing students of ages 12 (introduction) to 20+ (software architecture, compiler construction etc.). It also proves to be a great tool (even a silver bullet in a number of cases) for various projects that are cost sensitive OR require a stringent quality of software OR are immune to the pressures of IT mainstream OR cannot push the costs of the mainstream complexity on to unsavvy customers, as in application areas such as: drones, nuclear power stations, various industrial automation, theoretical and experimental scientific research, teaching programming to 12-year old kids ... The talk is based on the diverse experiences accumulated by the participants of the educational project Informatika-21 since the
    [Show full text]
  • SC01307 Seaver Catalog
    Seaver College Catalog, 2003–2004 For More Information Requests for further information should be addressed to: Office of Admission, Seaver College Pepperdine University Malibu, California 90263-4392 Telephone (310) 506-4392 Facsimile (310) 506-4861 General Information (310) 506-4000 www.pepperdine.edu An official publication of Pepperdine University located at 24255 Pacific Coast Highway, Malibu, California 90263-4392. epperdine is a Christian university committed to the highest standards of academic excellence and Christian values, where students are strengthened for lives of purpose, service, and leadership. As a Christian university, Pepperdine affirms: hat God is That God is revealed uniquely in Christ That the educational process may not, with impunity, be divorced from the divine process That the student, as a person of infinite dignity, is the heart of the educational enterprise That the quality of student life is a valid concern of the University That truth, having nothing to fear from investigation, should be pursued relentlessly in every discipline That spiritual commitment, tolerating no excuse for mediocrity, demands the highest standards of academic excellence That freedom, whether spiritual, intellectual, or economic, is indivisible That knowledge calls, ultimately, for a life of service CONTENTS 3 CONTENTS Seaver College Academic Calendar .......................................4 President’s Message .......................................................8 Dean’s Message............................................................9
    [Show full text]
  • Components Vs. Objects Vs. Component Objects ∗
    C. Szyperski Components vs. Objects vs. Component Objects ∗ Abstract In the present upswing of component software it is not too surprising to observe a common confusion of terms. It is understandable but not helpful that some promoters of object-oriented programming try to ‘sell’ their established apparatus to the component world by renaming objects into components. Emerging component-based approaches and tools combine objects and components in ways that hint at the possibility that these are indeed different concepts. This article highlights the key differences between objects and components, points out that they are orthogonal concepts, and provides an integrating conceptual framework that addresses systems supporting objects and components. Seeming conflicts are resolved that result from ‘visual assembly’ tools, which really assemble objects, not components. Introduction Monolithic software still dominates the world of software products. Substantial technical difficulties in establishing a functioning component approach have been overcome only partially and resulting component technology is not perfect. However, a bigger obstacle is the slow emergence of standards – or de facto standards – that carry viable component-based products. To fully explore the component software potential, agreement is required on the precise meaning of terms and concepts. Why Components? Before discussing the underlying concepts it is helpful to understand the core rationale behind component software, leading to an intentional understanding of what components should be. Traditionally, closed solutions with proprietary interfaces did address most customers’ needs. Among the few examples of components that did reach high levels of maturity are heavyweights such as operating systems and database engines. Manufacturers of large software systems often configure delivered solutions by combining modules in a client-specific way.
    [Show full text]
  • From Novel Mathematics to Efficient Algorithms. Do We Have Proper SD
    F.V.Tkachov TalkatComputerParticlePhysics(CPP2001),28-30November2001,Tokyo 1 Fromnovelmathematicstoefficientalgorithms. DowehaveproperSDfoundationtobuildfuture? AlbertaThy03-02 hep-ph/0202033 FyodorV.Tkachov INRRAS,Moscow117312Russia;UniversityofAlberta,Edmonton,T6J2J1Canada Computerimplementationofsophisticatedalgorithmsforphysicsapplicationsisgreatlyfacilitatedbythenew generationofcomponent-orientedSDtechnologiespioneeredbyWirth'sOberonandembracedbythesoftware industry(Sun'sJavaandMicrosoft'sC#).InastarkcontrastwiththedeeplyflawedC++,theOberontechnolo- gies(specifically,theComponentPascalandtheBlackBoxdevelopmentenvironment)offeranunparalleledSD platformforbuildingscientificapplicationsfromsophisticateddataprocessingtodemandingsymboliccalcula- tions.Specificexamplesarediscussed. Thisworkshopistakingplaceagainstthebackdropofa • the state of the art in SD is not the amateurish and theoreticalcrisiswithcalculationsforthe existing and fu- deeply flawed C++ [10] but Oberon-2 [11] (the best sup- ture colliders; theorists are behind experimentalists preci- portedimplementationknownasComponentPascal[12]); sion-wise,anditisnotclearwhen(andif)thegapwillbe • i significantly narrowed. The theory for LEP1 [1] was im- theOberon technologies have ushered in what may be plementedwithintheframeworkofthecalculationalpara- calledthemodernstandardSDparadigm;theparadigmen- digmbasedontheuseof Schoonschip and derivatives [2] compassesthetwodominantmega-projectsofthesoftware for vector and spinor algebra; dilogarithms for (one loop) industry:Sun’sJavaandMicrosoft’s.NET;
    [Show full text]
  • The .NET Framework: What Is It and How to Use It?
    The .NET Framework: What is it and How to Use it? Drs.ir. Vadim V. Zaytsev 19 October 2004 History en Future of Cobol • The lecture in week 45 will be cancelled! • Replacement lecture will take place as a part of a bigger event: • A symposium in honour of Wim Ebbinkhuijsen: 22 October 2004 (Friday), 13:00, Auditorium. Please read information at http://www.automatiseringgids.nl/events/default.asp? page=hfcobol and then register via [email protected] (or contact Ralf). 1 Technical issues • Up-to-date information about the course: requirements, suggestions, slides, papers, rescheduling issues, . — http://www.cs.vu.nl/~ralf/oo/lecture-2004/ • These slides incorporate some of the work by Ralf L¨ammel, Manuel Costa, Kai Rannenberg, Erik Meijer, Damien Watkins, Hanspeter M¨ossenb¨ock & probably some others. 2 What is .NET? • Microsoft .NET is a set of Microsoft software technologies for connecting information, people, systems, and devices. It enables a high level of software integration through the use of Web services—small, discrete, building-block applications that connect to each other as well as to other, larger applications over the Internet. ( c M$ website) • A development platform: interfaces, components and tools to develop software. The biggest change in the Microsoft platform since Windows NT replaced DOS. ( c Manuel Costa) 3 The components of Microsoft .NET- connected software 4 .NET framework principles • Make Internet-scale distributed computing ubiquitous • Seamless integration of multiple applications and devices • Deliver software
    [Show full text]
  • Experiment Control and Data Acquisition Using Blackbox Component Builder
    Experiment control and data acquisition using BlackBox Component Builder Wojtek Skulski Department of Physics and Astronomy, University of Rochester and SkuTek Instrumentation Rochester, New York USA skulski @ pas . rochester . edu Wojtek Skulski CERN Oberon Day March/2004 Projects developed using BlackBox •Student projects at the Department of Physics and Astronomy, UofR. • Measurement of Light Attenuation in Plastic Scintillators. • Detection and Analysis of Stopping Muons. • Digital Signal Processing of Scintillator Pulses. •R&D project at the Laboratory for Laser Energetics, UofR. • Adaptive Optics Control System for Tiled Diffraction Gratings. • Industrial project, SkuTek Instrumentation. • Data acquisition and instrument control for multichannel waveform digitizer DDC-8. Wojtek Skulski CERN Oberon Day March/2004 Why BlackBox and Component Pascal? • Very robust runtime environment. • No memory leaks, no dangling pointers. • Instantaneous compile/load/debug cycle. • Comprehensive graphics. • Scientific plotting by Robert Campbell, BAE Systems. • Waveform graphics by Wojtek Skulski, University of Rochester. • Comprehensive math libraries by Robert Campbell. • Easy to interface with hardware. • Excellent support from the vendor. • Knowledgeable user community, quick response to questions. • Free for educational institutions. Wojtek Skulski CERN Oberon Day March/2004 Measurement of Light Attenuation in Plastic Scintillators Student project #1 •Data acquired from CAMAC: •Jorway controller 73A. •ORTEC ADC AD811 . •LeCroy TDC 2249W. Pulse
    [Show full text]
  • The Specification of Dynamic Distributed Component Systems
    CSTR The Sp ecication of Dynamic Distributed Comp onent Systems Thesis by Joseph R Kiniry In Partial Fulllment of the Requirements for the Degree of Master of Science California Institute of Technology Pasadena California Submitted May ii c Joseph R Kiniry All Rights Reserved DRAFT NOT FOR DISTRIBUTION July iii Acknowledgements Sp ecial thanks go to my wonderful advisor Dr K Mani Chandy Thanks also to Infospheres group memb ers and fellow graduate students Dan M Zimmerman Adam Rifkin and Roman Ginis Comp ositional Computing group member EveScho oler and p ostdo cs and past Comp group memb ers Dr Paolo Sivilotti Dr John Thornley and Dr Berna Massingill Dan Zimmerman was particularly helpful in his motivation to develop elegantandpowerful soft ware frameworks Adam provided the inspiration of a Webyogi and Paul is the studenttheoretician in whose fo otsteps I walk Thanks also go to Diane Go o dfellow for her administrative supp ort Finally Id like to thank my longterm partner and b est friend Mary Baxter youll always b e an inspiration in my life This work was sp onsored by the CISE directorate of the National Science Foundation under Problem Solving Environments grant CCR the Center for ResearchinParallel Computing under grant NSF CCR and byParasoft and Novell The formal metho ds and adaptivity reliability mobility security parts of the pro ject are sp onsored by the Air Force Oce of Scientic Research under grantAFOSR F DRAFT NOT FOR DISTRIBUTION July iv DRAFT NOT FOR DISTRIBUTION July v Abstract Mo dern computing systems
    [Show full text]
  • Blackbox Component Builder for Scientists and Engineers
    BlackBox Component Builder For Scientists and Engineers Scientific programming without a sting. To be presented at LLE in February 2004 Wojtek Skulski Laboratory for Laser Energetics University of Rochester Rochester New York 14623-1299 skulski _at_ pas . rochester . edu BlackBox for scientists and engineers . Wojtek Skulski Laboratory for Laser Energetics, University of Rochester, February 2004 Main points of this presentation • Why BlackBox / Component Pascal ? • How is a BlackBox application different from a classic "program”? • How to establish a good structure from start? • I have a DLL. How do I interface it with BB? • How to make a powerful GUI without ever bothering about one? • How to use waveform graphics BlackBox/Gr? • How to use the Graphics and Scientific Library Lib (graphics, matrices, vectors, special functions, digital filters, etc.) • What is available from the web: graphics, utilities, etc. • Which textbooks are good to read? BlackBox for scientists and engineers . Wojtek Skulski Laboratory for Laser Energetics, University of Rochester, February 2004 A common problem • I want to achieve some goal, e.g., turn on an LED. • I write a piece of software and push the GUI button. • What can happen next: 1. The intended LED lights up. Hurrah! 2. Another LED lights up. Oops. 3. Internal application error?! The application disappears from the screen. Ad. 2. I should correct my algorithmic mistakes. Ad. 3. This should never happen! But it often does. Let it never happen again to us! BlackBox for scientists and engineers . Wojtek Skulski Laboratory for Laser Energetics, University of Rochester, February 2004 Is it acceptable to crash? A catastrophic failure (“crash”) may or may not be acceptable.
    [Show full text]