Publishing and Sharing Sherif Farag University of North Carolina at Chapel Hill, USA.

Slides:



Advertisements
Similar presentations
Support.ebsco.com Nursing Reference Center Tutorial.
Advertisements

Technology Guide 2 Software
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
1 Computing for Todays Lecture 22 Yumei Huo Fall 2006.
Russell Taylor Lecturer in Computing & Business Studies.
Technology Guide 2 Software.
1 CMPT 275 Software Engineering Revision Control.
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
Computer Software.
Louisa Lambregts, What Makes a Web Site Successful and Effective? Bottom Line... Site are successful if they meet goals/expectations.
T EAM F OUNDATION S ERVER IN D EVELOPMENT Kambiz Saremi.
Chapter 5 Application Software.
Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009.
Lecturer: Ghadah Aldehim
2012 National BDPA Technology Conference Creating Rich Data Visualizations using the Google API Yolanda M. Davis Senior Software Engineer AdvancED August.
Adobe Dreamweaver CS3 Revealed CHAPTER ONE: GETTING STARTED WITH DREAMWEAVER.
Item Web 2.0 application relevant to teacher’s work.
Basic tasks of generic software Chapter 3. Contents This presentation covers the following: – The basic tasks of standard/generic software including:
© Paradigm Publishing, Inc. 5-1 Chapter 5 Application Software Chapter 5 Application Software.
Computer Concepts 7th Edition Parsons/Oja Chapter 3 Computer Software Section A: Software Basics.
4 1 Sources of Software (Figure 4.5) Comparison of Proprietary and Off-The-Shelf Software (Table 4.5) (Table 4.5) 22.
DEVSView: A DEVS Visualization Tool Wilson Venhola.
Unit 3: Multimedia The Development Process. What is Multimedia? An interactive piece of software using several types of media: –Text –Graphics (photographs.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
AGENDA Introduction to Virtual Mechanic Demo Architectural diagram and summary QA steps and user acceptance testing Bugs in the software Feedback from.
material assembled from the web pages at
UEC 01 : Computer Skills & Programming Concepts I 1PUA – Computer Engineering Department – UEC01 – Dr. Mona Abou - Of Lecture 6: Applications Software.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
Introduction to HTML Tutorial 1 eXtensible Markup Language (XML)
Chapter 8 Browsing and Searching the Web. Browsing and Searching the Web FAQs: – What’s a Web page? – What’s a URL? – How does a browser work? – How do.
Objective Understand concepts used to web-based digital media. Course Weight : 5%
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
© Copyright 2011 John Wiley & Sons, Inc.
Erin Osborne Nishimura onish.web.unc.edu University of North Carolina at Chapel Hill.
1 UNIT 15 Webpage Creator Lecturer: fadwa tlaelan.
Microsoft Access Database Software.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Documentation NCRR Documentation for BioPSE/SCIRun and map3d All this great software and you want documentation too!?
Introduction to Making Multimedia
© Paradigm Publishing Inc. 5-1 Chapter 5 Application Software.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Python for: Data Science. Python  Python is an open source scripting language.  Developed by Guido Van Rossum in late 1980s  Named after Monty Python.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
1 A Basic Introduction to Flash. Outline What is a flash? Macromedia Flash MX 2004 Flash concepts Flash Demos Conclusion Additional help 2.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
 A content management system ( CMS ) is a system providing a collection of procedures used to manage work flow in a collaborative environment. These.
OPeNDAP Development and Security Policies. Development Policies All of our software uses LGPL or GPL –LGPL is used by most of the code –We want it to.
ICAD3218A Create User Documentation.  Before starting to create any user documentation ask ‘What is the documentation going to be used for?’.  When.
XP Creating Web Pages with Microsoft Office
RAMSDENTelecommunications Training RAMSDEN Telecommunications Training RTT75 Create Technical Documentation.
IBM Predictive Analytics Virtual Users’ Group Meeting March 30, 2016
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Supporting quality devices
Introduction to Visual Basic 2008 Programming
Streamlined publishing through the cloud with HTML5
Statistics Explained a new way of publishing statistics (or anything)
UNIT 15 Webpage Creator.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Chapter 10 Development of Multimedia Project
Computer Systems Chapter 11 Section 1.
What is Open Science? [your name] [your job title] [your organisation]
COLLABORATING VIA BLOGS AND WIKIS
How to make your paper professional and elegant
SMART NoteBook By: Courtney Ericson & Nicole Moriarty.
Executable Specifications
Presentation transcript:

Publishing and Sharing Sherif Farag University of North Carolina at Chapel Hill, USA

Publishing and Sharing Specific aim Documenting your code in a professional way and making it accessible for either the public or to a limited group.

Outline What is publishing ? – Dynamic vs Static – Uses of dynamic documentation – Examples of dynamic documentation What is Sharing ? – Importance of sharing source code – How to share your code – Revision control System – Examples of RCS

Publishing Creating a document that represent you research code in a professional way that is easy to follow and understand. Embedding code snippets into your document.

Publishing Dynamic VS Static StaticDynamic

Publishing Dynamic VS Static in Typing int a; a = 5; cout << a + 5 ; cout << b + 7 ; x = 23 print x C++, JavaPython, R ( Good) ( Not Good)

Publishing Dynamic VS Static Documentation A living document or dynamic document is a document that is continually edited and updated. A simple example of a living document is an article in Wikipedia, that permits anyone to freely edit its articles. A "dead" or "static" documents, such as an article in a single edition of the Encyclopaedia Britannica.

Publishing Uses of Dynamic Documentation A nice and detailed way of reporting/documenting your research code. Makes editing of the document easier and efficient. Can be used on a regular basis by graduate students for delivering class assignments/ lab reports as well as professional writings such as a thesis or a manuscript.

Publishing Examples: Knitr Is an engine for dynamic report generation with R. It is a package in the statistical programming language R that enables integration of R code into LaTeX, LyX, HTML, Markdown Knitr (R) LatexHTMLMarkdownLyx

Publishing Examples: Latex Before BuildingAfter Building

Publishing Examples: Latex Before BuildingAfter Building

Publishing Examples: Knitr with Latex Before BuildingAfter Building

Publishing Examples: Ipython Notebook IPython Notebook is a web-based interactive computational environment for creating IPython notebooks. An IPython notebook is a JSON document containing an ordered list of input/output cells which can contain code, text, mathematics, plots and rich media. iPynb (Py) LatexHTMLMarkdownPDFPython

Publishing Examples: IPython Notebook Before BuildingAfter Building

Outline What is publishing ? – Dynamic vs Static – Uses of dynamic documentation – Examples of dynamic documentation What is Sharing ? – Importance of sharing source code – How to share your code – Revision control System – Examples of RCS

Sharing

Importance of Sharing Code Is a contributing factor to the maturation of people’s programming skills. Help optimizing current version of software by reducing number of bugs within a source code (Two brains better than one !!) Make programing more plannable and more efficient by splitting tasks between programmers. Pair programming: two programmers work as a pair together on one workstation. One, the driver, writes code while the other, the observer, pointer or navigator, reviews each line of code as it is typed in.

Sharing How to Share Your Code CD, DVD,SD, Flash drive, …,etc Cloud: Google drive, Dropbox, BOX, StackoverFlow, …,etc Revision Control System (RCS)

Sharing Revision Control System (RCS) Is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form letters.

Sharing Examples of RCS SVNGit

Links Latex Tutorial: Knitr: Knitr examples: Ipython Notebook: GIT: SVN: