---+++ Software Development ---+++++ James Skon ---+++++ Fall 2017 ---+++++ Location: Hayes 309A, Time: 11:00, Days: TH ---+++++ Office Hours: 10-11 MWF. ---++++++ Tutoring: | _There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C. A. R. Hoare (1980 Turing Award Lecture)_ | ---+++ Course Learning Outcomes This course gives students experience designing, implementing, testing and debugging moderately complex systems of software components that collectively form a multilayer application. There will be an emphasis on crafting quality code, designing and implementing effective user interfaces, and building multicomponent architectures using a mix of off-the-self and custom code.Topics will include inner process and inter-system communication, multi-threading, and the synchronization of shared resources, web interfaces, and working with large data sets. Students will primarily use C++, but also will learn Javascript and other languages as needed. Prerequisite: SCMP 118 or permission of instructor.Cource outcomes At the completion of this course the students should 1 Exhibit best practices in creating code that is well structured and organized using object-oriented concepts. 1 Exhibit an understanding of quality use of identifier naming within code. 1 Be capable of providing appropriate internal documentation within code. 1 Understand and utilize proper use of internal barricading and error checking of values within a program. 1 Be capable of creating detailed requirement for a problem bending solved. 1 Be capable of creating architectural designs for multi-component software systems. 1 Be capable of collaboration in software development including pair-programming, peer design and code reviews. 1 Be capable of creating and using a MySQL database using SQL and phpmysql. 1 Write JavaScript code using HTML, CSS and jQuery. 1 be able to create an HTML and JavaScript front end that communicate with a C++ program through an Apache2 web server. 1 design and develop web based data visualization components and user interfaces that use quality metaphoric concepts. 1 be able to produce JavaScript and/or C++ effectively processes XML documents. ---+++ Text | [[http://cc2e.com/][Code Complete, Second Edition]]; Steve McConnell; <br />Microsoft Press; 2nd edition (June 19, 2004) | <img alt="CodeComplete.jpg" height="200" src="%ATTACHURLPATH%/CodeComplete.jpg" width="164" /> | ---+++ Technical Topics * Using the Linux Server * C++ Iterators and algorithms * Text Parsing * Haspmap and building an inverted index * Interprocess communication using FIFO class * Client/Server architectures * JavaScript, HTML and CSS * JavaScript with timing intervals. * AJAX and CGI communication * XML Processing * JQuery * SQL * SQL and C++ ---+++ ---+++ Tools * [[https://cygwin.com/install.html][cygwin]] - This is a tool to give you Linux software on a Windows system. A good way to get SSH. * [[https://netbeans.org/][NetBeans]] * [[http://www.tldp.org/LDP/intro-linux/html/][Linux]] * [[https://notepad-plus-plus.org/][Notepad++]] (Windows) * [[http://www.barebones.com/products/TextWrangler/][TextWrangler]] (Mac - use this instead of Notepad++ on MAC) * [[http://www.chiark.greenend.org.uk/~sgtatham/putty/][PuTTY]] (Windows), ssh (Windows with cygwin) * [[https://www.xquartz.org/][X Windows for Mac]] * [[http://www.tightvnc.com/][TightVNC - X for WIndows]] * [[https://support.suso.com/supki/SSH_Tutorial_for_Linux][ssh]] * [[UsingMake][Make]] * [[https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control][Git]], [[https://github.com/][Github]] * [[http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/][Emacs]] ---+++ calab.kenyon.edu links * [[https://cslab.kenyon.edu/class/softdev/skon/active.html][Monitor Active Processes]] (Enter filter like "cgi" to see matching processes) ---+++ Languages/Libraries * [[http://www.cplusplus.com/][C++]] * [[http://www.w3schools.com/html/][HTML]] * [[http://www.w3schools.com/css/][CSS]] * [[http://www.w3schools.com/js/][Javascript]] * [[http://www.cprogramming.com/tutorial/makefiles.html][Makefile]] * [[http://www.w3schools.com/xml/][XML]] * [[http://www.w3schools.com/jquery/][Jquery]] * [[https://www.highcharts.com/][HighCharts]] ---+++ Tutorials/Reference * [[https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-][Using PuTTY to log in on from Windows]] * [[http://accc.uic.edu/answer/how-do-i-use-ssh-and-sftp-mac-os-x][Using SSH to log in on from Mac]] * [[UsingNotepad][Using Notepad++ to edit and transfer files on Windows]] * [[https://www.cnet.com/how-to/how-to-use-textwrangler-as-a-remote-file-editor/][Using TextWrangler to edit and transfer files on Mac]] * [[https://www.codecademy.com/learn/web][html & css]] * [[http://htmldog.com/guides/html/beginner/][Introduction to HTML]] * Information on [[https://www.w3schools.com/xml/dom_http.asp][XMLHttpRequest Object]] * [[https://www.w3schools.com/xml/ajax_intro.asp][AJAX introduction]] * [[AJAXHintsSuggestions][AJAX programming hints and suggestions]] * [[https://www.javaworld.com/article/2113465/developer-tools-ide/git-smart-20-essential-tips-for-git-and-github-users.html][Tips for using GitHub and git]] * [[POSIXThreadsProgramming][POSIX Threads Programming]] * [[http://www.applied-mathematics.net/tools/xmlParser.html][XML Parser for C++]], [[http://www.applied-mathematics.net/tools/xmlparser_doc/html/modules.html][Documentation]] * [[https://www.smashingmagazine.com/2010/04/seven-javascript-things-i-wish-i-knew-much-earlier-in-my-career/][7 JavaScript Things I Wish I Knew Much Earlier In My Career]] * [[https://classroom.udacity.com/courses/ud507][Data Visualization with D3 course]] ---+++ [[https://www.smashingmagazine.com/2010/04/seven-javascript-things-i-wish-i-knew-much-earlier-in-my-career/][Links]] * [[https://www.data.gov/][Goverment Datasets]] * [[https://codewords.recurse.com/issues/seven/data-driven-literary-analysis][Data driven literary analysis]] * [[https://nordicapis.com/11-killer-open-data-sources-free-visualization-tools/][11+ Killer Open Data Sources and Free Visualization Tools]] * [[https://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016/#2bf65510b54d][Big Data: 33 Brilliant And Free Data Sources For 2016]] * [[BadCodeExample][What does this code do?]] * [[http://www.thedailywtf.com/][Daily WTF]] - a how-not-to guide for developing software ---+++ Schedule | *Date* | *Topic* | *Reading / Info* | *Quiz* | *Slides* | *Assignment Due* | | 01-15 | Software Construction <br /><b style="background-color: transparent;">Project 0</b>: Programming in the Linux environment | Chapter 1<br />Census Name Information Demo<br />Linux Introduction<br /> [[https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-][PuTTY]]<br /> [[ProjectZero][Project 0]] | | [[%ATTACHURL%/1._Software_Construction.ppt][1._Software_Construction.ppt]]<br /> [[%ATTACHURL%/Introduction-to-Linux.pptx][Introduction-to-Linux.pptx]] | | | 01-17 | Software Metaphors<br />Name Data Demo | <p>Chapter 2<br /> [[https://notepad-plus-plus.org/][Notepad++]], [[https://www.barebones.com/products/textwrangler/][TextWrangler]]</p> <p> [[HttpCss][HTTP & CSS]], [[http://www.w3schools.com/html/][HTML Tutorial]]</p> | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=23729][Link]] | [[%ATTACHURL%/2._Metaphors.ppt][2._Metaphors.ppt]] [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/chapter-1-introduction-to-linux.ppt][Linux Slides]] | [[https://goo.gl/forms/CLVFNs8wyhndY5Tw2][Questioneer]] | | 01-19 | Preparation for coding, Inverted Index<br /><b>Project 1, Part 1</b>: Shakespeare Index | Chapter 3, [[http://www.cplusplus.com/reference/map/map/][Map STL c++<br />]] [[NamesDemoCpp][namesdemo.cpp]]<br /> [[https://cslab.kenyon.edu/class/softdev/skon/Names/namelookup.html][Web Names Lookup<br />]] [[https://cslab.kenyon.edu/class/softdev/skon/namedata/][Name Data Files]] - From US Census Data | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=24211][Link]] | [[%ATTACHURL%/3._Preparation.ppt][Chapter 3]] | [[ProjectZero][Project 0]] | | 01-22 | Key Construction Decisions<br />HTML, CSS | Chapter 4<br />Project 1 Review | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=24573][Link]] | [[%ATTACHURL%/4._KeyConstructionDecisions.ppt][Chapter 4]] | | | 01-24 | Design in Construction<br />Make Files, Bootstrap | Chapter 5<br /> [[SoftDevMake][Make Files]], [[http://krnlpanic.com/wp/c-compiler-basics/][The Make Command]], [[http://getbootstrap.com/][Bootstrap]], [[https://www.edx.org/course/introduction-bootstrap-tutorial-microsoft-dev203x-3][BootStrap Course]], [[https://www.w3schools.com/bootstrap/][BootStrap Tutorial]] | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=24580][Link]] | [[%ATTACHURL%/5._DesigninConstruction.ppt][Chapter 5]] [[%ATTACHURL%/Makefile-C.ppt][Make Files]] | [[HttpCss][HTTP & CSS]] | | 01-26 | *Project 1, Part 2*: Simple Web Shakespeare<br />Web Programming with Ajax | <p> [[SoftDevMake][Make Files]] [[http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm][, ]] [[http://krnlpanic.com/wp/c-compiler-basics/][The Make Command<br />]]The Demo code for Name program<br />The English stemmer example. [[http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm][<br />C++ Web Programming]]</p> <p> [[http://www.codeproject.com/Articles/31155/Ajax-Tutorial-for-Beginners-Part][Ajax Tutorial for Beginners]]</p> | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=24582][Link]] | [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/CGI-AJAX.pptx][CGI and AJAX]] [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/Makefile-C.ppt][<br />]] | <p> [[SdProject1][Project 1, Part 1]]</p> <p>Meet with Professor for code review</p> | | 01-29 | Design in Construction<br />Javascript | Chapter 5<br /> [[%ATTACHURL%/Makefile-C.ppt][Make Files]]<br /> [[%ATTACHURL%/CGI-AJAX.pptx][CGI and AJAX]] | | <a href="https://cs.kenyon.edu/pub/SCMP391/Spring2017/5._DesigninConstruction.ppt" target="_top">Chapter 5</a> | [[BootStrapAssignment][Bootstrap]] | | 01-31 | Javascript and JQuery | [[https://javascript.info/][Javascript Tutorial]], [[https://www.tutorialspoint.com/jquery/][JQuery Tutorial]], [[https://code.tutsplus.com/courses/30-days-to-learn-jquery][Learn JQuery]] | | | | | 02-3 | *Project 1, Part 3*: Client/Server Web Shakespeare | <br /> [[SCMP391.ProtocolOvervew][Protocol Oveview]] [[https://goo.gl/forms/CLVFNs8wyhndY5Tw2][ <br />]] | | | <p> [[SDProject1-2][Project 1, Part 2]]</p> <p>Code Review</p> | | 02-6 | Working Classes | Chapter 6 | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=26099][Link]] | [[%ATTACHURL%/6._WorkingClass.ppt][Chapter 6]] | | | 02-8 | High-Quality Routines<br />Introduction to XML | Chapter 7<br /> [[http://www.sitepoint.com/really-good-introduction-xml/][XML Introduction]], [[https://www.w3.org/TR/REC-MathML/toc.html][MathML]], [[https://www.ibiblio.org/xml/examples/shakespeare/][Shakespeare]], [[https://sourceforge.net/projects/zefania-sharp/files/Bibles/][Bible]], [[http://www.qurandatabase.org/][Quran<br />]] [[http://www.applied-mathematics.net/tools/xmlParser.html][XML Parser for C++]] [[http://www.qurandatabase.org/][, ]] [[http://www.applied-mathematics.net/tools/xmlparser_doc/html/modules.html][Documentation<br />]] [[XMLC++BooksExample][Demo Software: /home/class/SoftDev/cppXMLAJAX/<br />]] | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=26100][Link]] | [[%ATTACHURL%/7._High-QualityRoutines.ppt][7._High-QualityRoutines.ppt]] <br /> [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/XMLOverview.ppt][XML Overview]] | | | 02-10 | *Project 2*: XML Lookup | Project 2: [[XMLProjectSD][XML Project]], [[XMLParsingJquery][Tutorial: Parsing XML with JQuery]] | | [[https://cslab.kenyon.edu/class/softdev/skon/XML/XMLBible2.html][Bible Example]], [[https://cslab.kenyon.edu/class/softdev/skon/XML/][Other examples]] | | | 02-13 | User Interface design | [[http://www.usability.gov/what-and-why/user-interface-design.html][User Interface Design Basics]] [[https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control][<br />]] [[http://bokardo.com/principles-of-user-interface-design/][Principles of User Interface Design]] [[https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control][<br />]] [[http://www.ambysoft.com/essays/userInterfaceDesign.html][User Interface Design Tips, Techniques, and Principles]] [[https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control][ <br />]] [[http://hallofshame.gp.co.at/index.php?mode=original][Interface Hall of Shame]] [[https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control][<br />]] | | [[%ATTACHURL%/UserInterfaceDesign.ppt][User Interface Design]] | [[SDProject1-3][Project 1, Part 3]] | | 02-15 | Defensive Programming | <br /> [[https://en.wikipedia.org/wiki/Communications_protocol][Chapter 8]] | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=27836][Link]] | [[%ATTACHURL%/8._DefensiveProgramming.ppt][DefensiveProgramming.ppt]] | Project 2, Proposal | | 02-17 | Introduction to GITHub | [[https://www.youtube.com/watch?v=8KCQe9Pm1kg][GIT Video]] - View for quiz , [[http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1/#awesm=~owWaKbpGqnC0Vd][GitHub for beginners]]<br /> [[SCMP391.SDGitHW][GIT HW]] | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=26377][Link]] | [[%ATTACHURL%/IntroductionToGIT.pptx][GIT Slides]] | Project 2, Interface Design [[SDProject3][<br />]] | | 02-20 | Collaborative Programming<br />Group Formation | [[https://www.lucidchart.com/][Chapter 21<br />]] | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=25990][Link]] | [[%ATTACHURL%/21.Collaboration.ppt][Chapter 21]] | [[SCMP391.SDGitHW][GIT HW]] | | 02-22 | *Project 3*: Data Visualization, metaphor, and visual communication. | [[Project3SD][Project 3<br />]] [[https://www.youtube.com/watch?v=lTAeMU2XI4U&feature=related][Visualization Introduction]] - watch before class | | | Project 2, Complete | | 02-24 | Visit to Gund Art Gallery | [[%ATTACHURL%/visap2015_Cruz_WrongfullyRight.pdf][visap2015_Cruz_WrongfullyRight.pdf]] - Please read before class | Link3 | | | | 02-27 | <b>Project 3</b> - Project discussion and brainstorming.<br />Group Formation | | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=28678][link]] | [[%ATTACHURL%/10.Variables.ppt][10.Variables.ppt]] [[%ATTACHURL%/8._DefensiveProgramming.ppt][<br />]] | | | 03-1 | General Issues in Using Variables, the Power of Variable Names | Chapter 10, Chapter 11 | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=28679][link]] | [[%ATTACHURL%/11.Variables.ppt][11.Variables.ppt]] | Project 3 Proposal | | 03-3 | Team Presentations on Visualization Plan | Include Power points with mockups | | | Project 3 Presentation | | 03-4 - 03-19 | Spring Break | | | | | | 03-20 | _Midterm Exam -_ [[SDMidTermStudyGuide][Study Guide]] | Chapters 1-11,21, User Interface Design, GIT | [[https://moodle.kenyon.edu/mod/quiz/view.php?id=27582][Link]] | | | | 03-22 | Introduction to SQL, phpmyadmin | [[http://www.sqlcourse.com/][SQLTutorial]], [[https://www.codecademy.com/learn/learn-sql][Learn SQL]], [[https://www.youtube.com/watch?v=1-81n_vuwug][phpmyadmin Tutorial]] | | | | | 03-24 | MySQL and the World Database | [[SQLHW2][SQL World Database]] | | | Project 3 Version 1 | | 03-27 | Project 3 Code Reviews | Be prepared to show and describe code in class for 10 minutes. | | | Code Review | | 03-29 | [[SQLCHW][ *Project 4* ]]: Phone App, MySql with C++ | [[https://dev.mysql.com/doc/connector-cpp/en/][C++/MySQL tutorials]] | | | [[SQLHW1][SQL HW 1]] | | 03-31 | More on Bootstrap, CSS | | | | [[SQLHW2-PhpMyAdmin][SQL HW 2- phpmyadmin]] | | 04-03 | | | | | Project 4 - Part 1, 2 & 3 | | [[SQLHW2-PhpMyAdmin][04-05]] | In Class work and instructor demos | | Link | | | | 04-07 | A visit to Gund Gallary. | | | [[%ATTACHURL%/33.PersonalCharacter.ppt][Chapter 33]] | Project 4 - Part 4 | | 04-10 | *Project 5*: Interactive two-user system with with Database | [[WebChatSD][Project 5]] | | | | | 04-12 | Automatic updating webpages<br />Project 5 Group formation | [[https://cslab.kenyon.edu/class/softdev/skon/processList/processList.html][Live Monitoring Processes]] , [[https://github.com/jimskon/processList][code]] | | | Project 4 - Complete | | 04-14 | Personal Character | Chapter 33 | | | | | 04-17 | Project 5 Concept presentations | Be prepared to demonstrate and talk about your idea | | | Project 5 Part 1: Project concept,and team formation | | 04-19 | Project 5: meetings with professor | | | | | | 04-21 | Using Conditionals | Chapter 15 | | [[%ATTACHURL%/15.UsingConditionals.ppt][Chapter 15]] | Project 5 Part 2: Complete Project Design using Metiphoric concepts | | 04-24 | Controlling loops | Chapter 16 | | | | | 04-26 | Project 5 presentations | Present Architecture in class | | | Project 5 part 3: Architectural Design | | 04-28 | Unusual Control Structures, Table-Driven Methods | Chapter 17, 18 | | [[%ATTACHURL%/17.UnusualControlStructures.ppt][Chapter 17]]<br /> [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/18.Table-DrivenMethods.ppt][Chapter 18]] | | | 05-1 | Project 5 Working prototype demos | | | | Project 5 Part 4 | | 05-3 | The Software-Quality Landscape | Chapter 20 | | [[http://cs.mvnu.edu/twiki/pub/Main/SoftwareDevelopment2015/20.SoftwareQuality.ppt][Chapter 20]] | | | 05-5 | Developer Testing | Chapter 22 | | [[%ATTACHURL%/22.DeveloperTesting.ppt][Chapter 22]] | [[WebChatSD][Project 5]] - Part 5 - complete system | | 05-9 | 6:30-9:30pm | [[SDProject5Presentation][Final Presentation Project 5]] | | [[https://docs.google.com/a/kenyon.edu/forms/d/e/1FAIpQLSeCtx1eHl546kUSp9PnHlabuNzRN4g_TgV02GVig__mwP8FJg/viewform?c=0&w=1][Evaluation Form]] | [[https://moodle.kenyon.edu/mod/assign/view.php?id=31727][Moodle Link for Final Presentation]]<br /> [[https://moodle.kenyon.edu/mod/assign/view.php?id=30530][Moodle Link Complete Project]] | ---+++ Software project grading rubric | *Criteria* | *Excellent* | *Acceptable* | *Unacceptable* | | <b>Documented & Maintainable</b><br /><i>(The program is well-documented with appropriate names and comments making it easy to understand.)</i> | <ul> <li>all naming conventions are followed</li> <li>both in-line and header comments are included and clearly explain the what the code accomplishes and how</li> <li>white space is used well</li> </ul> | <ul id="yui_3_17_2_1_1490037709443_82"> <li>most naming conventions are followed</li> <li>some comments are confusing or missing</li> <li>white space is used well in most places</li> </ul> | <ul id="yui_3_17_2_1_1490037709443_89"> <li>poor or no use of naming conventions</li> <li>too few or too many comments are used and they are unclear or inaccurate</li> <li>poor use of white space</li> </ul> | | <b>Adaptable & Reusable</b><br /><i>(The program is modular, using abstraction well and any limitations are clearly specified.)</i> | <ul id="yui_3_17_2_1_1490037709443_74"> <li>all interfaces between objects are clear</li> <li>appropriate utility functions are used and well-documented</li> <li>most code can be reused</li> </ul> | <ul> <li>most object interfaces are clear</li> <li>some appropriate utility functions are used and documented</li> <li>some code can be reused</li> </ul> | <ul id="yui_3_17_2_1_1490037709443_92"> <li>poor object interface definitions</li> <li>few or no utility functions</li> <li>no code can be reused</li> </ul> | | <b>Robust & Correct</b><br /><i>(The program provides the correct output for all possible input.)</i> | <ul id="yui_3_17_2_1_1490037709443_77"> <li>the program works completely as expected</li> <li>the output is displayed to specification for all valid input</li> <li>the program responds appropriately for all invalid input</li> </ul> | <ul id="yui_3_17_2_1_1490037709443_86"> <li>the program works as expected for most input</li> <li>there may be minor errors in output formatting for valid input</li> <li>not all invalid input is handled reasonably</li> </ul> | <ul id="yui_3_17_2_1_1490037709443_95"> <li>the program does not produce correct output for even the sample input</li> <li>the program fails to handle invalid input</li> <li>exceptions are not caught</li> </ul> | | <b>Efficient & Elegant</b><br /><i>(The program uses both time and space on the computer effectively, without losing source code clarity.)</i> | <ul id="yui_3_17_2_1_1490037709443_79"> <li>no extra variables or definitions are used</li> <li>the code is small, efficient yet still easily understood</li> </ul> | <ul> <li>extra variables do not make the code harder to understand</li> <li>brute-force problem solving approach</li> </ul> | <ul> <li>extra variables are pervasive and confusing</li> <li>the code is unnecessarily long and patched together</li> </ul> | | | 25-20% | 19-11% | 10-0% | Email: *SCMP39100S17@kenyon.edu* <pre>Jessie Alperin <alperinj@kenyon.edu>, Ghada Bakbouk <bakboukg@kenyon.edu>, Preston Basting <bastingp@kenyon.edu>, Miku Fukuyama <fukuyamam@kenyon.edu>, gavinhannerc@kenyon.edu, grigullb@kenyon.edu, Elizabeth Iduma <iduma1@kenyon.edu>, khanm@kenyon.edu, murphy1@kenyon.edu, Tess Neau <neaut@kenyon.edu>, ogilviethompsonh@kenyon.edu, Daniel Olivieri <olivierid@kenyon.edu>, riveraj@kenyon.edu, Joseph Schutz <schutzj@kenyon.edu>, seavera@kenyon.edu, solorioc@kenyon.edu, twitchelln@kenyon.edu, vances@kenyon.edu, John Wilhelm <wilhelmj@kenyon.edu>, Yanqi Xu <xuy@kenyon.edu> </pre> * [[%ATTACHURL%/6._WorkingClass.ppt][6._WorkingClass.ppt]]: 6._WorkingClass.ppt * [[%ATTACHURL%/7._High-QualityRoutines.ppt][7._High-QualityRoutines.ppt]]: 7._High-QualityRoutines.ppt * [[%ATTACHURL%/15.UsingConditionals.ppt][15.UsingConditionals.ppt]]: 15.UsingConditionals.ppt * [[%ATTACHURL%/16.ControllingLoops.ppt][16.ControllingLoops.ppt]]: 16.ControllingLoops.ppt * [[%ATTACHURL%/17.UnusualControlStructures.ppt][17.UnusualControlStructures.ppt]]: 17.UnusualControlStructures.ppt * [[%ATTACHURL%/18.Table-DrivenMethods.ppt][18.Table-DrivenMethods.ppt]]: 18.Table-DrivenMethods.ppt * [[%ATTACHURL%/33.PersonalCharacter.ppt][33.PersonalCharacter.ppt]]: 33.PersonalCharacter.ppt * [[%ATTACHURL%/RecordFieldsBinaryIO.ppt][RecordFieldsBinaryIO.ppt]]: RecordFieldsBinaryIO.ppt * [[%ATTACHURL%/22.DeveloperTesting.ppt][22.DeveloperTesting.ppt]]: 22.DeveloperTesting.ppt * CodeComplete.jpg: <br /> <img alt="CodeComplete.jpg" height="500" src="%ATTACHURLPATH%/CodeComplete.jpg" width="410" /> * [[%ATTACHURL%/visap2015_Cruz_WrongfullyRight.pdf][visap2015_Cruz_WrongfullyRight.pdf]]: visap2015_Cruz_WrongfullyRight.pdf
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
jpg
CodeComplete.jpg
r1
manage
41.2 K
2017-08-24 - 13:27
JimSkon
pdf
visap2015_Cruz_WrongfullyRight.pdf
r1
manage
6266.7 K
2017-10-31 - 02:20
JimSkon
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r25
<
r24
<
r23
<
r22
<
r21
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r25 - 2017-11-23
-
JimSkon
Home
Site map
KatiWeb web
KenyonCpp web
MSSC web
Main web
SCMP118 web
Fall2016 web
SCMP391 web
Sandbox web
TWiki web
Main Web
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
E
dit
A
ttach
Copyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback