File:  [LON-CAPA] / doc / help / LON-CAPA.developers.manual.lyx
Revision 1.1: download - view: text, annotated - select for diffs
Mon Jul 28 14:15:44 2003 UTC (20 years, 9 months ago) by bowersj2
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, HEAD, GCI_3, GCI_2, GCI_1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
Using CVS as FTP... ;-P

Intending to work on this file on my home system; will be removed after
it serves its purpose. I'm using it to write stuff into the development
manual w/ a nice interface and will convert it to .tex later.

    1: #LyX 1.3 created this file. For more info see http://www.lyx.org/
    2: \lyxformat 221
    3: \textclass article
    4: \language english
    5: \inputencoding auto
    6: \fontscheme default
    7: \graphics default
    8: \paperfontsize default
    9: \papersize Default
   10: \paperpackage a4
   11: \use_geometry 0
   12: \use_amsmath 0
   13: \use_natbib 0
   14: \use_numerical_citations 0
   15: \paperorientation portrait
   16: \secnumdepth 3
   17: \tocdepth 3
   18: \paragraph_separation indent
   19: \defskip medskip
   20: \quotes_language english
   21: \quotes_times 2
   22: \papercolumns 1
   23: \papersides 1
   24: \paperpagestyle default
   25: 
   26: \layout Title
   27: 
   28: LON-CAPA Developer's Manual
   29: \layout Author
   30: 
   31: (source material)
   32: \layout Section
   33: 
   34: About This Document
   35: \layout Standard
   36: 
   37: The purpose of this document is to introduce developers people to LON-CAPA,
   38:  and enable them to start doing real work with the system as quickly as
   39:  possible.
   40:  This should prove useful both to people who already intend to develop with
   41:  LON-CAPA, and to technical people who are evaluating LON-CAPA to see if
   42:  it suits their needs.
   43:  
   44: \layout Standard
   45: 
   46: The most daunting task facing new developers is understanding how the whole
   47:  system fits together; individual pieces are usually sensible but like any
   48:  large program it is difficult to understand the forest by looking at just
   49:  the trees.
   50:  Therefore, this document will start out with the highest-level overview
   51:  of the system, which can be safely skipped if you already know what LON-CAPA
   52:  is.
   53:  
   54: \layout Standard
   55: 
   56: Next, we'll look at the major subsystems of LON-CAPA and how they fit together
   57:  at a high level, with enough detail to understand the context a given piece
   58:  of the system functions in.
   59:  Appropriate pointers will be given to the detailed documentation on the
   60:  various subsystems, so this section can 
   61: \layout Standard
   62: 
   63: Then a brief tutorial in adding a 
   64: \begin_inset Quotes eld
   65: \end_inset 
   66: 
   67: handler
   68: \begin_inset Quotes erd
   69: \end_inset 
   70: 
   71:  to LON-CAPA will be given, enabling you both to understand how to add brand-new
   72:  functionality to LON-CAPA, and better understand the majority of the code
   73:  in the system which is in the form of handlers.
   74: \layout Standard
   75: 
   76: Finally, the last and largest portion of this document will be extremely
   77:  detailed examinations of the subsystems from a technical point of view,
   78:  including API descriptions suitable for use in programming.
   79:  Obviously you will not need to read this over entirely, unless you really
   80:  want to know what the system can do.
   81: \layout Section
   82: 
   83: What is LON-CAPA?
   84: \layout Standard
   85: 
   86: The 
   87: \series bold 
   88: L
   89: \series default 
   90: earning
   91: \series bold 
   92: O
   93: \series default 
   94: nline 
   95: \series bold 
   96: N
   97: \series default 
   98: etwork with a 
   99: \series bold 
  100: C
  101: \series default 
  102: omputer 
  103: \series bold 
  104: A
  105: \series default 
  106: ssisted 
  107: \series bold 
  108: P
  109: \series default 
  110: ersonalized 
  111: \series bold 
  112: A
  113: \series default 
  114: pproach (LON-CAPA) is an integrated system for online learning and assessment.
  115:  It consists of a learning content authoring and management system allowing
  116:  new and existing content to be used flexibly, a course management system,
  117:  an individualized homework and automatic grading system, data collection
  118:  and data mining system, and a content delivery system that will provide
  119:  gateways to and from NSF's National STEM Digital Library.
  120: \layout Standard
  121: 
  122: In particular:
  123: \layout Itemize
  124: 
  125: The LON-CAPA software provides instructors with a common, scalable platform
  126:  to assist in all aspects of teaching a course, from lecture preparation
  127:  to administration of homework assignments and exams.
  128:  It allows instructors to create educational materials and to share such
  129:  learning resources with colleagues across institutions in a simple and
  130:  efficient manner.
  131:  
  132: \layout Itemize
  133: 
  134: It provides an extremely sophisticated assignment engine that can create
  135:  unique homework assignments and examinations for each student in a class.
  136:  Its formative and summative assessment tools grade a broad variety of objective
  137:  problems and assist in evaluation of essays.
  138:  
  139: \layout Itemize
  140: 
  141: It provides prompt feedback for students and instructors, as well as statistical
  142:  information on performance and on effectiveness of materials.
  143:  Discussion pages attached to every homework assignment encourage communication
  144:  among students and faculty.
  145: \layout Standard
  146: 
  147: The LON-CAPA software is freely available and free (GNU General Public License),
  148:  and may be modified and adapted.
  149: \layout Standard
  150: 
  151: LON-CAPA is being developed and implemented by an enthusiastic group of
  152:  faculty and professionals who recognize that Information Technology can
  153:  play an important role in improving students' learning and understanding.
  154:  Current members of the project include faculty from universities, colleges,
  155:  and K-12 schools in the US, Canada, Asia, Africa, and Europe.
  156:  The core development group is located at Michigan State University.
  157: \layout Subsection
  158: 
  159: Why LON-CAPA?
  160: \layout Standard
  161: 
  162: There are tens of learning management systems to choose from.
  163:  Why should you choose LON-CAPA over the competition?
  164: \layout Itemize
  165: 
  166: 
  167: \series bold 
  168: Unparalleled assessment engine
  169: \series default 
  170: : The assessment engine in LON-CAPA is the beneficiary of over a decade
  171:  of development and refinement.
  172:  Few projects are even in the same league of the LON-CAPA project in experience
  173:  with sophisticated homework problems.
  174:  Sophisticated randomization features go well beyond merely randomizing
  175:  the order of multiple choice problems; everything can be randomized, from
  176:  the exact parameters in a given numerical problem to 
  177: \emph on 
  178: which
  179: \emph default 
  180:  parameters are missing for a given student.
  181:  See our Author's Manual for an idea of how powerful the assessment engine
  182:  is (http://msu.loncapa.org/adm/help/author.manual.pdf), or try our Demo Course
  183:  (http://demo.lon-capa.org/cgi-bin/signon.pl).
  184: \layout Itemize
  185: 
  186: 
  187: \series bold 
  188: Full course support
  189: \series default 
  190: : LON-CAPA is capable of running your entire course from top to bottom.
  191:  LON-CAPA can host all of the content of the course, from syllabuses to
  192:  actual course materials.
  193:  It can track your students grades, with as much power as you need.
  194:  Want to give students bonuses for getting a problem right on the first
  195:  try? Or insert external grades into the system from an external data source?
  196:  Powerful communication features enable discussion between the instructors
  197:  and students, or among the students themselves.
  198:  From the initial course creation to the final grades readout, LON-CAPA
  199:  has all the power you need to run courses.
  200: \layout Itemize
  201: 
  202: 
  203: \series bold 
  204: It's free
  205: \series default 
  206: : The thousands or millions you save over expensive course management solutions
  207:  can be better spent on computers, or directly spent on your students.
  208:  LON-CAPA can frequently do more with less then some of the largest commercial
  209:  competitors, too.
  210: \layout Itemize
  211: 
  212: 
  213: \series bold 
  214: It's free
  215: \series default 
  216: : As in liberty.
  217:  No need to buy an extra-special license just to have the privilege of developin
  218: g extensions to the system.
  219:  You have full access to the entire system.
  220:  You aren't restricted to carefully delimited parts of the system the vendor
  221:  deems 
  222: \begin_inset Quotes eld
  223: \end_inset 
  224: 
  225: safe
  226: \begin_inset Quotes erd
  227: \end_inset 
  228: 
  229:  for you to access.
  230:  You also have full access to all the data on the system; LON-CAPA never
  231:  locks up your data.
  232:  There aren't any hidden secrets in the system, either, when you're free
  233:  to scrutinize all of the source code.
  234:  And it won't become closed later either, thanks to the licensing.
  235: \layout Itemize
  236: 
  237: 
  238: \series bold 
  239: Large Digital Library
  240: \series default 
  241: : LON-CAPA's digital library means you have access to thousands of high-quality
  242:  learning resources right off the bat, without writing them yourself.
  243: \layout Itemize
  244: 
  245: 
  246: \series bold 
  247: Power for the Users
  248: \series default 
  249: : LON-CAPA's grants a lot of power to the instructors to control their course;
  250:  the system imposes minimal arbitrary restrictions on the instructors because
  251:  the design is mature.
  252:  To get an idea of what the instructors can do, see our Course Management
  253:  Manual (http://msu.loncapa.org/adm/help/course.manual.pdf).
  254: \layout Itemize
  255: 
  256: 
  257: \series bold 
  258: Improve Student's Performance
  259: \series default 
  260: : Several studies have repeatedly shown that using LON-CAPA can significantly
  261:  improve student performance.
  262:  One especially interesting result has been its ability to nearly eliminate
  263:  the gender gap in technical subjects such as physics, where men have traditiona
  264: lly outperformed women.
  265:  
  266: \layout Comment
  267: 
  268: I'd 
  269: \series bold 
  270: like
  271: \series default 
  272:  to say here that multiple choice systems have been demonstrated to do the
  273:  opposite; can we back that up? Links to actual papers would be great, on
  274:  both sides.
  275: \layout Subsection
  276: 
  277: Features
  278: \layout Standard
  279: 
  280: TBD
  281: \layout Subsection
  282: 
  283: Philosophy and Pedagogy
  284: \layout Standard
  285: 
  286: TBD
  287: \layout Comment
  288: 
  289: I'd 
  290: \series bold 
  291: really
  292: \series default 
  293:  like to have a lot of what I've heard written down.
  294:  So much cool stuff has been said but I don't know where I can find it.
  295: \layout Subsection
  296: 
  297: Conclusion
  298: \layout Standard
  299: 
  300: We hope by now you're as excited as we are about the system.
  301:  LON-CAPA is really powerful and good for both students and instructors,
  302:  and you can't beat the bang-for-the-buck.
  303: \layout Standard
  304: 
  305: Now you know what LON-CAPA is all about, let's start looking at the internals
  306:  to see how we do all this great stuff.
  307: \layout Section
  308: 
  309: LON-CAPA Technical Overview
  310: \layout Standard
  311: 
  312: In a nutshell, LON-CAPA is all about bringing learning 
  313: \series bold 
  314: resources
  315: \series default 
  316:  and 
  317: \series bold 
  318: people
  319: \series default 
  320:  together with 
  321: \series bold 
  322: technology
  323: \series default 
  324: .
  325:  Thus, the best way to understand the system is to understand how it models
  326:  learning resources, how it understand people, and last (and really, least
  327:  importantly) what technology supports it.
  328: \layout Subsection
  329: 
  330: Learning Resources And Assembly
  331: \layout Standard
  332: 
  333: see Guts_Authoring.tex
  334: \layout Subsection
  335: 
  336: Network
  337: \layout Standard
  338: 
  339: sharing
  340: \layout Standard
  341: 
  342: dynamic replication
  343: \layout Standard
  344: 
  345: notification
  346: \layout Standard
  347: 
  348: show replication sequence
  349: \layout Subsection
  350: 
  351: Courses
  352: \layout Standard
  353: 
  354: The end result of all of this assembly is an actual course that students
  355:  can participate in.
  356: \layout Standard
  357: 
  358: Courses are themselves sequences that tell the system what the course consists
  359:  of.
  360:  Course instructors or administrators can manipulate this sequence through
  361:  the use of the Course Documents screen; see the Course Documents Screen
  362:  chapter in the Course Management Manual (http://msu.loncapa.org/adm/help/course.ma
  363: nual.pdf) for more detailed information about that.
  364:  
  365: \layout Standard
  366: 
  367: 
  368: \series bold 
  369: INSERT OVERVIEW/Initialization Of Course from lonuserstate.pm here; make
  370:  sure to mention lonnavmaps and the 
  371: \begin_inset Quotes eld
  372: \end_inset 
  373: 
  374: compiled course hash
  375: \begin_inset Quotes erd
  376: \end_inset 
  377: 
  378:  here.
  379: \layout Subsection
  380: 
  381: Cascading Parameters
  382: \layout Standard
  383: 
  384: Parameters cascade and can affect anything in the course.
  385:  Extensions should take advantage of parameters if it at all makes sense.
  386:  Makes common operations easy.
  387:  Very powerful; 
  388: \begin_inset Quotes eld
  389: \end_inset 
  390: 
  391: simple problem
  392: \begin_inset Quotes erd
  393: \end_inset 
  394: 
  395:  is actually implemented in terms of parameters.
  396:  
  397: \layout Standard
  398: 
  399: Most common parameters can usually be accessed through lonnavmaps, which
  400:  provides a relatively nice interface to resources and their parameters.
  401:  See navmaps.
  402: \layout Subsection
  403: 
  404: Finding Resources
  405: \layout Standard
  406: 
  407: search 
  408: \layout Standard
  409: 
  410: browse
  411: \layout Subsection
  412: 
  413: Permissions
  414: \layout Standard
  415: 
  416: sharing, restrictions, licenses (should put where this is done)
  417: \layout Subsection
  418: 
  419: Affect On System (rename)
  420: \layout Standard
  421: 
  422: Supporting highly dynamic, geographically distributed, configurable resources
  423:  drives much of the system.
  424:  Understanding this 
  425: \layout Standard
  426: 
  427: Practical effects on how you need to think about the system:
  428: \layout Itemize
  429: 
  430: Don't assume resources are on the hard drive.
  431:  You need to ask the system to first replicate the resources as necessary.
  432:  
  433: \layout Itemize
  434: 
  435: Make sure you use the rich environment, don't try to fight it, or reinvent
  436:  the wheel.
  437:  See the discussion on the Environment in the Technology section.
  438: \the_end

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>