diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..4e45a282 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +**/.rh/** diff --git a/Master_Folder/Master/Master.rhpj b/Master_Folder/Master/Master.rhpj new file mode 100644 index 00000000..a8b91731 --- /dev/null +++ b/Master_Folder/Master/Master.rhpj @@ -0,0 +1,54 @@ + + +Master +2c9e0990-0c7f-486d-90f8-e380700d7df1 + +en_US +false +contents/assets/css/default.css +settings/import/word/default.wsf +settings/import/fm/default.fsf + +Draft +In Progress +Ready for Review +Sent for Review +Reviewed +Complete + +Audience +Platform +Product +Properties +Others + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Master_Folder/Master/condition/Default.cnd b/Master_Folder/Master/condition/Default.cnd new file mode 100644 index 00000000..58ef0bc8 --- /dev/null +++ b/Master_Folder/Master/condition/Default.cnd @@ -0,0 +1,5 @@ + + + + + diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Creae_A_New_File.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Creae_A_New_File.htm new file mode 100644 index 00000000..c2d4768c --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Creae_A_New_File.htm @@ -0,0 +1,31 @@ + + + + + + + How Do I Creae A New File + + + + +

How Do I Create A New File?

+

Adding a file is done in one of two ways. First, make sure you have selected the folder within the file tree where you want the file created.

+

 

+ +

You should specify both the file name and the extension. Right-clicking also allows you to Copy/Paste existing files.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Delete_A_File.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Delete_A_File.htm new file mode 100644 index 00000000..d62fe062 --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Delete_A_File.htm @@ -0,0 +1,32 @@ + + + + + + + How Do I Delete A File + + + + +

How Do I Delete A File?

+

Removing a file is done one of the two ways. First, make sure you have selected the file within the file tree which you wish to delete.

+

 

+ +

Deleting is permanent and it cannot be undone later.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Edit_Existing_Content.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Edit_Existing_Content.htm new file mode 100644 index 00000000..c0f1b7ed --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Edit_Existing_Content.htm @@ -0,0 +1,30 @@ + + + + + + + How Do I Edit Existing Content + + + + +

How Do I Edit Existing Content?

+

You can edit the existing content of the assignment by enabling the edit mode. Please follow the below steps to edit the contents:

+

 

+ +

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_A_Python_File.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_A_Python_File.htm new file mode 100644 index 00000000..5c8ca35e --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_A_Python_File.htm @@ -0,0 +1,34 @@ + + + + + + + How Do I Run A Python File + + + + +

How Do I Run A Python File?

+

If you are familiar with the Linux command line, you can also open up a terminal window from the Tools->Terminal menu.

+

 

+

Once this appears, you should enter the following

+

 

+
python <filename.py>
+

But also check out 

+

 

+ + +

See https://docs.codio.com/project/ide/boxes/#customizable-run-menu for more on how you can configure the .codio file

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_Compile_A_Java_File.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_Compile_A_Java_File.htm new file mode 100644 index 00000000..e62b195b --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Run_Compile_A_Java_File.htm @@ -0,0 +1,36 @@ + + + + + + + How Do I Run/Compile A Java File + + + + +

How Do I Run/Compile A Java File?

+

If you are familiar with the Linux command line, you can also open up a terminal window from the Tools->Terminal menu.

+

 

+

Once this appears, you should enter the following

+

 

+
javac Filename.java
+java Filename
+

But also check out 

+

 

+ + +

See https://docs.codio.com/project/ide/boxes/#customizable-run-menu for more on how you can configure the .codio file

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Update_Content_Used_In_Multiple_Courses.htm b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Update_Content_Used_In_Multiple_Courses.htm new file mode 100644 index 00000000..a561e198 --- /dev/null +++ b/Master_Folder/Master/contents/Assignments_and_Assessments/How_Do_I_Update_Content_Used_In_Multiple_Courses.htm @@ -0,0 +1,31 @@ + + + + + + + How Do I Update Content Used In Multiple Courses + + + + +

How Do I Update Content Used In Multiple Courses?

+

You can update content that is used in multiple courses by creating master courses and clone courses. When you clone a course, there is a relationship between the original (master) course content and the clone (child) course content. If you update an + assignment in the master course, the changes can be pulled (using the pull button) into the child courses.

+

 

+

After publishing the updated content in the master course, go to the cloned course where (in 'edit' mode) you will see the option to Pull.

+
+
The option will pull the changes from a master course to a child course
+
+

 

+

When you click on Pull details will be shown (as pictured below) of the update published in the master course. If you want to accept the changes, select Update My Assignment and they will be pulled into the assignment in the cloned course.

+
+
Details of the update
+
+

 

+

Note: The option to pull will only appear when there is an update available.

+

 

+

New assignments added to the master course later can be added to the child courses. See Adding new assignments from Master to Child course for more information.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/First_Topic.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/First_Topic.htm new file mode 100644 index 00000000..7bb04a90 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/First_Topic.htm @@ -0,0 +1,29 @@ + + + + + + How To Buy Codio In The Bookstore + + + + +

How To Buy Codio In The Bookstore

+

Codio will work with your bookstore to ensure students on financial aid who need to buy licenses through the bookstore can purchase licenses. You can send this article or email this PDF to your bookstore manager to get the process started.

+
+

If you are a Follett bookstore, we are an approved Follett vendor.

+
    +
  1. Check enrollment to determine how many and what type of Codio licenses you would like to order. 
  2. +
+

            - There are 3 durations of Codio licenses: 1-Semester, 2-Semester and 1-Year.                - Most bookstores only order 1-Semester licenses.
+
2. Send a Purchase Order (P.O.) to help@codio.com
+
3. Receive an email with:
     - a printable PDF that has 1 access code per page with directions for students on how to use the code
     -  and a CSV file listing + access codes for digital delivery of access codes.
+
4. Sell each access code once.
     -  Codes are not course-specific.
     - Note: A student only needs one access code for Codio, regardless of how many courses they are enrolled in that use Codio.
+
5. Pay for the access codes you sold.
     - Keep any access codes you did not sell.
     - They never expire and are not course-specific so they can be sold the following semester.

+

6. Repeat steps each semester (taking in to account number of previously unsold codes when deciding quantity).

+

If you are not a Follett bookstore, email help@codio.com to start the approval process.

+

If there is ever a student who comes to the bookstore concerned that their access code did not work, please direct them to Codio support as stated on their print out.

+
+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Add_Teachers_To_My_Organization.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Add_Teachers_To_My_Organization.htm new file mode 100644 index 00000000..9459ec69 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Add_Teachers_To_My_Organization.htm @@ -0,0 +1,20 @@ + + + + + + + How Do I Add Teachers To My Organization + + + + +

How Do I Add Teachers To My Organization?

+

If you just want to invite your colleague into your Organisation, see Add Teachers but if you would want to add them directly into your organisation AND a course at the + same time, see Adding Teachers to a Course  where for either option you can send an invitation email to your colleague and it will take them through signing up for a Codio + account and also added them into your Organisation (and Course if you take that option).

+

You can also add teachers into courses as a Read Only mode. These teachers will only have access to the courses in Teaching Mode and will not be able to add/edit/change any content of the course. It can be done at the Course level and the Organisation level.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Create_Student_Users.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Create_Student_Users.htm new file mode 100644 index 00000000..28183605 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/How_Do_I_Create_Student_Users.htm @@ -0,0 +1,19 @@ + + + + + + + How Do I Create Student Users + + + + +

How Do I Add Student Users?

+

You do not add students to an organization directly. 

+

They are added by inviting them to join a course. See Add Students for how you do this once you have created your course
and then Joining a course as a student for how your students then join where they either click the Course Invite URL you give them and sign up for an account with Codio where they will then automatically be added into your Organisation and the Course or they go to https://codio.com/p/join-class where they manually enter in the 2 word token and sign up.

+

The Course Invite URL is the better option as there is less chance that they can mistype the 2 word token

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Are_Resources.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Are_Resources.htm new file mode 100644 index 00000000..807435eb --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Are_Resources.htm @@ -0,0 +1,64 @@ + + + + + + + What Are Resources + + + + +

What Are Resources?

+

Codio resources are a collection of teaching materials that are available to anyone to use within their courses.

+

 

+

The materials take a rigorous approach to teaching coding. As well as extensive tutorial content, you will also find a large number of challenge assessments.

+

 

+

Both content and assessments have been carefully built to gradually increase the difficulty level, ensuring that knowledge and confidence are built up one step at a time. This approach is important to avoid demotivating students.

+

 

+

Codio offers a 3 level hierarchy for organising and publishing course materials.

+

 

+ +

Finding Codio Resources

+

Select Resources from the dashboard. You will see a list of courses that are created or recommended by Codio.

+

 

+

 

+

 

+

You can search any codio resoorces from drop down or by entering the text in the search field

+ +

For students ages 11-14

+ +

For students ages 14-16

+ +

For students ages 16-18

+ +

For more information on Codio resources check out our documentation here

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Book.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Book.htm new file mode 100644 index 00000000..4d12affe --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Book.htm @@ -0,0 +1,38 @@ + + + + + + + What Is A Book + + + + +

What Is A Book?

+

Introduction

+

Codio Books lets you build a complete book, with chapters, sections and pages that can be nested to any depth to form a table of contents and associated content that mirrors a normal book structure. Parts of a book can then be mapped to assignments + in courses.

+

 

+

A Codio book still sits on top of a Codio box so you have the same capabilities that projects and assignments have. 

+

 

+

Recommendations

+

We strongly recommend you have a thorough understanding of the following before embarking on large scale books.

+

 

+ + + + +

 

+

 

+

For more information and detail on working with books including limitations, restrictions and where a book is not suitable), check out our documentation here

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Course.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Course.htm new file mode 100644 index 00000000..9b575ecb --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Course.htm @@ -0,0 +1,29 @@ + + + + + + + What Is A Course + + + + +

What Is A Course?

+

A course has the following properties.

+ +

And much more. For more detail, check out our documentation here

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Module.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Module.htm new file mode 100644 index 00000000..439dd6c3 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Module.htm @@ -0,0 +1,20 @@ + + + + + + + What Is A Module + + + + +

What Is A Module?

+

Modules help you organize your assignments in courses into logical groupings. If your course only contains a few assignments then you may want only a single module. If, on the other hand, your course has a large number of assignments, then dividing + them between several suitably named modules may make more organizational sense.

+

A course has to have at least one module. A module contains the individual assignments that will be assigned to students.

+

For more information on how to create a module, add an existing module to another course, adding assignments to modules and much more, check out our documentation here

+

 

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Project.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Project.htm new file mode 100644 index 00000000..0746aa05 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Project.htm @@ -0,0 +1,57 @@ + + + + + + + What Is A Project + + + + +

What Is A Project

+
+

Codio works with a series of templates, or Codio stacks.

+

You can use our pre-configured stacks or create your own. This template approach makes Codio easy to use, configure and adapt.

+

Codio's templates deliver fully preconfigured servers in less than 5 seconds, no matter how complex the configuration..

+

You can use our pre-configured stacks or create your own.

+

What is a project?

+

Here are the key things you need to know about projects.

+ + + + + + + + + +

Strong recommendations

+

We strongly recommend that you are familiar with the following concepts if you plan to assign projects to classes of students. Even if you don't knowledge of the following project related features will stand you in good stead.

+ +

For more information and detail, check out our documentation on Projects here

+
+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Stack.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Stack.htm new file mode 100644 index 00000000..6a43f73d --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_A_Stack.htm @@ -0,0 +1,33 @@ + + + + + + + What Is A Stack + + + + +

What Is A Stack

+
+

Codio projects/assignments are mounted to software configuration templates, known as Codio stacks.

+

You can use our pre-configured stacks or create your own. This template approach makes Codio easy to use, configure and adapt.

+

Codio’s templates deliver fully preconfigured servers in less than 5 seconds, no matter how complex the configuration.

+

What is a stack?

+

It is very important to understand how Stacks work in Codio, especially when working with courses. Incorrect usage can result in a project working when being edited but failing when assigned to a course.

+

A stack refers to the software configuration of a project server (Box). This incorporates everything on the server outside the code workspace (/home/codio/workspace) that you see in the IDE's file tree.

+

You can snapshot a box's stack at any point and add it to the Stacks template library as we explain later.

+

How a Codio project works.

+

When you create a new Codio project, course assignment or book, you always specify a stack. The specified stack will contain the operating system (always) and other components such as languages, databases and tools.

+

Stack modifications

+

You will often want to make changes to the software on your server. Any such changes you, or an application makes outside the workspace folder represents a stack change. Whether such changes are made using sudo apt-get install, manually + editing a config file, using Codio's Install Software packages or changes to a database due to application usage etc., these changes all represent stack modifications.

+

Any modifications you make will work fine on the project you are working on as the owner, but as soon as you assign that project or assignment to a course of students, the modifications will not be transferred.

+

In order to address this, you need to ensure that any project with a modified stack first has a clean stack created that includes your modifications and that the project points to that clean stack.

+

The process for creating a stack and switching the project to point to the new stack is straightforward.

+

For more information and detail, check out our documentation here

+
+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assessment.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assessment.htm new file mode 100644 index 00000000..e6d4df37 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assessment.htm @@ -0,0 +1,32 @@ + + + + + + + What Is An Assessment + + + + +

What Is An Assessment?

+

Assessments allow you to ask any number of automatically or manually graded questions within your content.

+ +

You can choose to weave assessments into the tutorial materials or to create dedicated assessments content.

+

For more information on assessments check out our documentation here 

+

Assessment Library

+

An assessment library in Codio is a collection of existing assessment items.

+

You can create assessments libraries within your organization. You can organize your libraries by course number, programming language, department and store your own asesssments there + for others to make use of and you can also use existing assessments from Codio's Global library.

+

For more information on Assessment Libraries, check out our documentation here

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assignment.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assignment.htm new file mode 100644 index 00000000..75a82bef --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_An_Assignment.htm @@ -0,0 +1,32 @@ + + + + + + + What Is An Assignment + + + + +

What Is An Assignment?

+

An assignment is essentially the same as a project

+

 

+

The only difference is that your project assignments are located in the course's area in the main Codio dashboard and accessible to other teachers who can edit them and to students in the course.
Assignments are very easy to locate as they + are tidily organized within the course module they belong to. You can also arrange your assignments within a course module.

+

 

+

You can list the module and assignment inside a course by clicking on the

+

You would typically use an assignment if either of the following applies.

+

 

+ +

A course allows you to subdivide your course into modules and then chronologically arrange your assignments within your modules. When you create a course, you have to create at least one module. A module does nothing special other than containing assignments + and is simply a nice way to group your assignments.

+

 

+

There is one minor drawback to project based assignments that you should be aware of. If students are working with a project assignment and want to look at tutorial content that is contained in another assignment, they have to switch assignments. This + can take several seconds and can be irritating during a revision phase when they want to frequently switch assignments. For this reason, we created the book

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_The_Difference_Between_A_Book_And_A_Project.htm b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_The_Difference_Between_A_Book_And_A_Project.htm new file mode 100644 index 00000000..b7bca0e5 --- /dev/null +++ b/Master_Folder/Master/contents/Getting_Started_Onboarding/What_Is_The_Difference_Between_A_Book_And_A_Project.htm @@ -0,0 +1,23 @@ + + + + + + + What Is The Difference Between A Book And A Project + + + + +

What Is The Difference Between A Book And A Project?

+

Whether to create a book or project assignment?

+

It can be a little confusing whether you should use a book based assignment or a project based assignment, so here are some typical use cases.

+ +

You can mix both book and project assignments in a course module.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Accessing_Assignments_When_Using_An_LMS.htm b/Master_Folder/Master/contents/Student_Docs/Accessing_Assignments_When_Using_An_LMS.htm new file mode 100644 index 00000000..f85ec635 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Accessing_Assignments_When_Using_An_LMS.htm @@ -0,0 +1,17 @@ + + + + + + + Accessing Assignments When Using An LMS + + + + +

Accessing Assignments When Using An LMS

+

If LTI is enabled for a class, new assignments can only be started via the LMS platform.
Any assignments already started can be accessed by logging into your Codio account.

+

 

+

Assignments that have not been started will show with 'ready to go' in the Codio course
Assignments that have been started previously will show with 'In Progress' in the Codio course.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__Assignment_Not_Loading.htm b/Master_Folder/Master/contents/Student_Docs/Help__Assignment_Not_Loading.htm new file mode 100644 index 00000000..1bd0ed7c --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__Assignment_Not_Loading.htm @@ -0,0 +1,26 @@ + + + + + + + Help: Assignment Not Loading + + + + +

Help: Assignment Not Loading

+

It can be the case that there is something in your browser that is blocking the download.

+

 

+

We would suggest you clear browser cache/cookies, close all browser tabs and log in again.

+

 

+

In the event there is a problem with a browser extension/add on, consider using a private/incognito session to access Codio or try a different browser.

+

 

+

If you are using an incognito session, check that Block third-party cookies is not enabled. If using Chrome, this is now the default setting and can be disabled before you log into Codio or your LMS.

+
+
Disable blocking of third-party cookies
+
+

 

+

If you continue to experience this, please open your browser dev tools (F12) and see if you can see any error in console log that may help you to solve the issue and if you are unable to resolve it, contact us with the output of the console log

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Access_Codio_In_Safari.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Access_Codio_In_Safari.htm new file mode 100644 index 00000000..63294419 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Access_Codio_In_Safari.htm @@ -0,0 +1,23 @@ + + + + + + + Help: I Can't Access Codio In Safari + + + + +

Help: I Can't Access Codio In Safari

+

Due to Safari's “Intelligent” tracking, this will block the necessary authentication cookie. 

+

 

+

To ensure access disable "Prevent cross-site tracking" in the browser privacy settings:

+
+
Disable "Prevent cross-site tracking."
+
+

 

+

 

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Expand_The_File_Tree.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Expand_The_File_Tree.htm new file mode 100644 index 00000000..57a2d15d --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Expand_The_File_Tree.htm @@ -0,0 +1,18 @@ + + + + + + + Help: I Can't Expand The File Tree + + + + +

Help: I Can't Expand The File Tree

+

Within Guides, the author can control the Layout on each page in the guides which includes showing (or not) the File + Tree. 

+

If the File Tree is shown but all folders in the project are hidden then although you may see the file tree, you will not be able to expand to see any content.

+

If you are experiencing this situation, let your teacher/professor know and they can contact the author to review/update the assignment.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Run_Python_In_The_Personal_Playground.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Run_Python_In_The_Personal_Playground.htm new file mode 100644 index 00000000..ce5aa3fe --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Run_Python_In_The_Personal_Playground.htm @@ -0,0 +1,18 @@ + + + + + + + Help: I Can't Run Python In The Personal Playground + + + + +

Help: I Can't Run Python In The Personal Playground

+

This message/error will be seen when the .codio file is incorrectly formatted.  Either the student has tried to enter in a new command incorrectly, removed something  or even tried to write code into this file in error

+

As a teacher. you can view the students project (see Accessing student work) to see what the problem is in this file (the project will open in a new browser tab) so you can then + compare it to what you can see if you were to open the same project in the course from your original browser tab where your .codio file should be correct

+

You should then be able to copy/paste the correct content into the students .codio file so they will then be able to carry on, but also you can let them know what they may have done to cause this so they will be less likely to repeat this in the future.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Set_Up_A_New_Subscription_Plan.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Set_Up_A_New_Subscription_Plan.htm new file mode 100644 index 00000000..4b1f2ce1 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_Can_t_Set_Up_A_New_Subscription_Plan.htm @@ -0,0 +1,24 @@ + + + + + + + Help: I Can't Set Up A New Subscription Plan + + + + +

Help: I Can't Set Up A New Subscription Plan

+

If you are seeing the message 'Do not Honor', then it is likely that your bank is unwilling to accept the transaction but they are not giving the specific reason to our processing company.
+
You should contact your card issuing bank for more details of the exact reason. 

+

 

+

We have heard of a few cases, especially from US banks where they do not allow international transactions by default but when you are able to explain to them what you are looking to do, they usually are able to allow it and you can then subscribe with + that card but if they won't, try a different card.

+

 

+

If you are seeing General error in Cardinal, this error can be caused due to adblockers or cookies being blocked

+

 

+

Please try using another browser or stop your adblocker during the payment process or login to Codio either with a different browser where you don't have adblockers running or in an incognito/private session. If using incognito session in Chrome, + ensure that you are not blocking third-party cookies that is enabled by default now in Chrome.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_Keep_Seeing__Terminated_by_Timeout__In_Challenges.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_Keep_Seeing__Terminated_by_Timeout__In_Challenges.htm new file mode 100644 index 00000000..510627f4 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_Keep_Seeing__Terminated_by_Timeout__In_Challenges.htm @@ -0,0 +1,16 @@ + + + + + + + Help: I Keep Seeing "Terminated by Timeout" In Challenges + + + + +

Help: I Keep Seeing "Terminated by Timeout" In Challenges

+

In general terms, Terminated by Timeout will be returned when the code you are checking cannot complete and when a stipulated time is reached, it will be terminated. 

+

Review your code and if you need assistance, raise with your class teacher/instructor who will be able to help you as they will be able to see the code you have written.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_can_t_see_my_completed_work.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_can_t_see_my_completed_work.htm new file mode 100644 index 00000000..3c0c39d2 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_can_t_see_my_completed_work.htm @@ -0,0 +1,26 @@ + + + + + + + Help: I Can't See My Completed Work + + + + +

Help: I can't see my completed work

+

Your Codio account is associated with an email address, used when you first registered/signed up.

+

 

+

If you are accessing Codio via an LMS (Learning Management System) such as Canvas/Blackboard/Moodle and have logged into the LMS with a different email address as you then open an assignment a new Codio with a different email address will be created + and will not see what you may have done previously and you may be prompted to start a new subscription plan.

+

 

+

If you are unsure of what different email address you are using in your LMS, go to your Codio Account settings where you can see the email address of this account.

+

 

+

Then check/review your LMS settings to check what other email addresses you have set to use and log out and log back into the LMS with the other email address.

+

 

+

To avoid you accidentally repeating this in future, we suggest you remove all alias email addresses in your LMS account so you can only log into the LMS with the one email account in future. If unsure how contact your local LMS administrators who will + be able to assist you

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__I_deleted_a_file_by_mistake.htm b/Master_Folder/Master/contents/Student_Docs/Help__I_deleted_a_file_by_mistake.htm new file mode 100644 index 00000000..12b54dfc --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__I_deleted_a_file_by_mistake.htm @@ -0,0 +1,33 @@ + + + + + + + Help: I Deleted A File By Mistake + + + + +

Help: I deleted a file by mistake

+

If you delete a file in an error, you can use the Code Playback option to find that file. Please follow the below steps to recover a deleted file:

+ +

Note: If you don't have Tools -> Code Playback, right-click on a tab or in the file tree and select Code Playback

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/Help__What_is_the_Master_In_The_File_Tree.htm b/Master_Folder/Master/contents/Student_Docs/Help__What_is_the_Master_In_The_File_Tree.htm new file mode 100644 index 00000000..e888a100 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/Help__What_is_the_Master_In_The_File_Tree.htm @@ -0,0 +1,19 @@ + + + + + + + Help: What is the Master In The File Tree + + + + +

Help: What is the Master In The File Tree

+

This relates to the Active Branch you are working on and relates to working with Git in Codio.
+
See Git for more information on how you can work with Git/SVN/Mecurial in Codio

+

If you are working with an assignment (ie started a project from in a Course), Git is not initialised, but you can run

+
git init
+

in the terminal to initialise.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/How_Can_I_Purchase_Codio.htm b/Master_Folder/Master/contents/Student_Docs/How_Can_I_Purchase_Codio.htm new file mode 100644 index 00000000..a1b61835 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/How_Can_I_Purchase_Codio.htm @@ -0,0 +1,17 @@ + + + + + + + How Can I Purchase Codio + + + + +

How Can I Purchase Codio?

+

Go to your Billing  area where you can start a subscription plan and if/when you want to end it where you would also then cancel the plan.

+

If the plan is a one or two semester plan, there is no need to cancel the subscription when your class ends as only the one payment will be made.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/How_Do_I_Join_A_Course_In_Codio.htm b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Join_A_Course_In_Codio.htm new file mode 100644 index 00000000..ff6a180c --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Join_A_Course_In_Codio.htm @@ -0,0 +1,30 @@ + + + + + + + How Do I Join A Course In Codio + + + + +

How Do I Join A Course In Codio?

+

If your course has been integrated with an LMS platform such as Canvas, Blackboard, Moodle or other LTI enabled platforms, you will access Codio through your LMS and you will automatically be added to the relevant Codio course.
+
If you are not using an LMS then your instructor should provide you with one of the following ways of joining.

+

 

+ +

 

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Assignment_To_Default_Configuration.htm b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Assignment_To_Default_Configuration.htm new file mode 100644 index 00000000..1bcacca6 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Assignment_To_Default_Configuration.htm @@ -0,0 +1,18 @@ + + + + + + + How Do I Reset My Assignment To Default Configuration + + + + +

How Do I Reset My Assignment To Default Configuration?

+

If the assignment you are referring to uses Guides, check out Restore Current Files  as that may do what + you need but if not  discuss with your class instructor as they can Reset Unit for you and you can then start the unit again.  

+

If you also let them know what you did , they may want to review the unit(s) you are working with to help mitigate this problem for you and other students in the future.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Password.htm b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Password.htm new file mode 100644 index 00000000..5b121655 --- /dev/null +++ b/Master_Folder/Master/contents/Student_Docs/How_Do_I_Reset_My_Password.htm @@ -0,0 +1,20 @@ + + + + + + + How Do I Reset My Password + + + + +

How Do I Reset My Password?

+

You can log in with your Codio username or the registered email address.

+

If you have also forgotten your password you can request a new password using either your username or email address.
+
Resetting your password will send an email to your registered email addresss containing a link for you to click. This will then send you another email containing the new password you can then use to login. 

+

We would recommend you then change your password to something you can remember in the future.
See Forgot your password for more information. 

+

If you are a student in a Course set up by your teacher, they can also reset your password for you. More details on how they do this can be found here: Change students password.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Book_After_Students_Have_Begun_A_Course_Assignment.htm b/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Book_After_Students_Have_Begun_A_Course_Assignment.htm new file mode 100644 index 00000000..fe248add --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Book_After_Students_Have_Begun_A_Course_Assignment.htm @@ -0,0 +1,47 @@ + + + + + + + Help: What Happens If I Republish A Book After Students Have Started A Course Assignment + + + + +

Help: What Happens If I Republish A Book After Students Have Started A Course Assignment?

+

Book assignments are published from the books area.

+

 

+

Let's say you have already published a book and created an assignment from a part of that book. If you then make changes to the book and republish the book, those published changes are not automatically reflected in the course. If you want to update + the assignment, then need to press the Update to latest version button that appears on the right side of the book name.

+

 

+ +

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Project_After_Students_Have_Begun_A_Course_Assignment_.htm b/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Project_After_Students_Have_Begun_A_Course_Assignment_.htm new file mode 100644 index 00000000..343f3d2f --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/Help__What_Happens_If_I_Republish_A_Project_After_Students_Have_Begun_A_Course_Assignment_.htm @@ -0,0 +1,40 @@ + + + + + + + Help: What Happens If I Republish A Project After Students Have Started A Course Assignment? + + + + +

Help: What Happens If I Republish A Project After Students Have Started A Course Assignment?

+

By default, a project unit is not available to others until you explicitly publish it. This ensures that you can make changes, even after publishing, without the published course content being affected.
Publishing the unit takes a snapshot of the + underlying project unit and assigns it a new version. Once published, you can make further edits to the unit, they will not be visible until you publish the unit again.

+

 

+ + + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Assignments_As_A_Teacher.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Assignments_As_A_Teacher.htm new file mode 100644 index 00000000..6f142e42 --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Assignments_As_A_Teacher.htm @@ -0,0 +1,37 @@ + + + + + + + How Do I Access Assignments As A Teacher + + + + +

How Do I Access Assignments As A Teacher?

+

Adding assignments and modules:

+


To add modules and assignments, you need to be in 'edit mode', as pictured below, with a grey background.  

+
+
Click the Pencil Icon to switch between edit and teaching modes
+
+

If you are in 'teaching mode' (white background), click the pencil icon on the top right to switch to edit mode.

+
+
Click the Pencil Icon to switch between teaching and edit mode
+
+

You can also hover over the pencil icon and it will show you which mode will you swap into when you click it.

+
+
Hover your mouse over the pencil icon to see into which mode you will swap.
+
+


+ Viewing assignment as a teacher:

+


To preview the assignment as a teacher, go to the teaching mode then click on the blue triple dot icon to the right of the assignment name, and choose *Preview*.

+
+
Click the Preview option to view the assignment as a teacher
+
+

 

+

Note: Each time you preview the assignment it opens as new. i.e. anything you may add as notes to your preview is not saved.
+
If you want to see the student view of the course, you can add test students. To open and view student class work, you can access their project.

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Student_Archived_Assignments.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Student_Archived_Assignments.htm new file mode 100644 index 00000000..fc7ed0cd --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Access_Student_Archived_Assignments.htm @@ -0,0 +1,19 @@ + + + + + + + How Do I Access Student Archived Assignments + + + + +

How Do I Access Student Archived Assignments?

+

If when trying to view a students project where the project has not been accessed for a long time and has been archived, it can take some time for the project to unpack.

+

This can be time consuming for teachers/instructors especially if there are a number of students in the class and projects are relatively large.
To avoid having to unpack each students project individually, teachers could Export Assignment Data for that unit (from the 3 blue dot menu area)

+

 An email notification will be sent when the data is available to download then return to the students area in the class where all the students projects will no longer be archived

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Change_An_Assignment_Students_Have_Already_Begun.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Change_An_Assignment_Students_Have_Already_Begun.htm new file mode 100644 index 00000000..52e44cb6 --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Change_An_Assignment_Students_Have_Already_Begun.htm @@ -0,0 +1,42 @@ + + + + + + + How Do I Change An Assignment Students Have Already Begun + + + + +

How Do I Change An Assignment Students Have Already Begun?

+

You can edit an assignment and changes will not be visible to students until you publish the assignment again. 

+

 

+ +

Please note: Existing files in the code workspace are never updated as this can invalidate work for students who have already started the assignment but new files can be added.

+

 

+

Students who haven't started the assignment will see the updated content but those who have already started an assignment will not.

+

 

+

To enable students who have started the assignment to see the new content, the assignment can be Reset (see reset section under the Actions Area Settings for more information) + but be aware that any existing work they have done will be lost.

+

 

+

How to Reset assignments

+

Switch to teaching mode by clicking on the pencil icon at the top right. The icon does NOT have a line through it when in teaching mode.

+
+
Pencil icon represents the Teaching Mode
+
+ +

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Make_Changes_To_An_Assignment_That_I_Have_Already_Published.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Make_Changes_To_An_Assignment_That_I_Have_Already_Published.htm new file mode 100644 index 00000000..c66b4ae4 --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Make_Changes_To_An_Assignment_That_I_Have_Already_Published.htm @@ -0,0 +1,31 @@ + + + + + + + How Do I Make Changes To An Assignment That I Have Already Published + + + + +

How Do I Make Changes To An Assignment That I Have Already Published?

+

By default, a project assignment is not available to others until you explicitly publish it. This ensures that you can make changes, even after publishing, without the published course content being affected.

+

 

+

Publishing the assignment takes a snapshot of the underlying project and assigns it a new version. Once published, you can make changes to your project and it will not affect the published assignment until you publish again. 

+

 

+ +

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Override_An_Autograded_Assignments_Grade.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Override_An_Autograded_Assignments_Grade.htm new file mode 100644 index 00000000..338ddd47 --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Override_An_Autograded_Assignments_Grade.htm @@ -0,0 +1,49 @@ + + + + + + + How Do I Override An Autograded Assignments Grade + + + + +

How Do I Override An Auto-graded Assignments Grade?

+

Teachers in the course can add the grade or can override the final grade with additional comments if required by selecting the 'Override Grade' button.

+

 

+

There are two ways to override the final grade.

+

 

+ +

Steps to override an assignment's final grade:

+

 

+ +

        Option 1:
          i. Click on the 3 blue dots present extreme right of the student's name (whose score needs to be overridden) then click on the "Open the project".

+
+
Click on the Open The Project option to access the student's project
+
+

          ii.  After opening the student's project, click on the Education menu tab then                      click on the Grading option.
          iii. Click on the Override Grade button, add grade/comment then click + on the                      Done then Close.

+
+
Click on the Override Grade button to override the student's grade
+
+

       Option 2:
          i. To assign comments or a grade, you need to click on the Grade icon (see                      image below with grading icons circled center) and select 'Override Grade'. 

+
+
Click Grading Icon
+
+
+
Click Override Grade Button
+
+

          ii. You can then add/modify the comments and grade fields for any individual student. Due to the weighting feature, we only allow numeric grades.

+

 

+


+ Note: Assignment must be marked as completed to override a grade or comment. Check out the Grading project work section for more on this.

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Preview_My_Course_As_A_Student.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Preview_My_Course_As_A_Student.htm new file mode 100644 index 00000000..5bf707be --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Preview_My_Course_As_A_Student.htm @@ -0,0 +1,48 @@ + + + + + + + How Do I Preview My Course By Logging In As A Student + + + + +

How Do I Preview My Course By Logging In As A Student?

+

You can preview your course contents by logging in as a test student.

+

Preview the contents as a test student:

+ + + + + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Rename_Reorder_Modules_and_Assignments.htm b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Rename_Reorder_Modules_and_Assignments.htm new file mode 100644 index 00000000..b4eff8af --- /dev/null +++ b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I_Rename_Reorder_Modules_and_Assignments.htm @@ -0,0 +1,51 @@ + + + + + + + How Do I Rename/Reorder Modules and Assignments + + + + +

How Do I Rename/Reorder Modules and Assignments?

+

Switch to edit mode by clicking on the pencil icon at the top right. The icon has a line through it when in edit mode.

+
+
Switch between Edit and Preview Mode
+
+


+ Assignments:

+

 

+

For assignments in a module:

+ +

+

Modules:

+ +

 

+ +

 

+

 

+ + \ No newline at end of file diff --git "a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_External_Course_Content.htm" "b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_External_Course_Content.htm" new file mode 100644 index 00000000..428950a2 --- /dev/null +++ "b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_External_Course_Content.htm" @@ -0,0 +1,25 @@ + + + + + + + How Do I Use On-Campus External Course Content + + + + +

How Do I Use On-Campus External Course Content?

+

It is possible to add a module to your course that already exists in another course. Click the + button in the top left and select the Copy from Existing button to open the module browser dialog

+

 

+

The Module browser will open for you to search for the module(s) you wish to add.

+

 

+

You can filter from the available options in the tabs, or search by typing into the search field, whereupon Codio will search within all Module names available to you.

+

 

+

You can also order the list of modules by name, created date, student count, or start date of the course by using the dropdown.

+
+
Select the course moduleto add a course or module to a course.
+
+

 

+ + \ No newline at end of file diff --git "a/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_Off-Campus_External_Course_Content.htm" "b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_Off-Campus_External_Course_Content.htm" new file mode 100644 index 00000000..1426bded --- /dev/null +++ "b/Master_Folder/Master/contents/Teaching_With_Codio/How_Do_I\302\240Use_Off-Campus_External_Course_Content.htm" @@ -0,0 +1,38 @@ + + + + + + + How Do I Use Off-Campus External Course Content + + + + +

How Do I Use Off-Campus External Course Content?

+

To share your course with others

+

 

+ + +

 

+

 

+ + +

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/Topic_for_git_update.htm b/Master_Folder/Master/contents/Topic_for_git_update.htm new file mode 100644 index 00000000..bc0193a5 --- /dev/null +++ b/Master_Folder/Master/contents/Topic_for_git_update.htm @@ -0,0 +1,16 @@ + + + + + + + Topic_for_git_update + + + + +

Topic_for_git_update

+

Let's add this topic and push it up to git...

+

 

+ + \ No newline at end of file diff --git a/Master_Folder/Master/contents/assets/css/book.css b/Master_Folder/Master/contents/assets/css/book.css new file mode 100644 index 00000000..47d2806b --- /dev/null +++ b/Master_Folder/Master/contents/assets/css/book.css @@ -0,0 +1,26 @@ +/*Created with Adobe RoboHelp*/ +/*TOC Styling*/ +div.pdf-toc-body {} +h1.pdf-toc-title {} +a.pdf-toc-level-1 {} +a.pdf-toc-level-2 {} +a.pdf-toc-level-3 {} +a.pdf-toc-level-4 {} +a.pdf-toc-level-5 {} +a.pdf-toc-level-6 {} + +/*Index Styling*/ +div.book-idx-body {} +h1.book-idx-title {} +div.book-idx-unit {} +p.book-idx-keyword {} +span.book-idx-name {} +a.book-idx-link {} +div.book-idx-child {} + +/*Glossary Styling*/ +div.book-glo-body {} +h1.book-glo-title {} +div.book-glo-unit {} +p.book-glo-term {} +p.book-glo-definition {} \ No newline at end of file diff --git a/Master_Folder/Master/contents/assets/css/default.css b/Master_Folder/Master/contents/assets/css/default.css new file mode 100644 index 00000000..38dc3164 --- /dev/null +++ b/Master_Folder/Master/contents/assets/css/default.css @@ -0,0 +1,142 @@ +/*Created with Adobe RoboHelp.*/ +body { + font-family: Calibri; +} +h1 { + font-weight: bold; + font-size: 24.0pt; +} +h2 { + font-weight: bold; + font-size: 18.0pt; +} +h3 { + font-weight: bold; + font-size: 14.0pt; +} +h4 { + font-weight: bold; + font-size: 12.0pt; +} +h5 { + font-weight: bold; + font-size: 10.0pt; +} +h6 { + font-weight: bold; + font-size: 8.0pt; +} +p { + font-size: 11.0pt; + margin-top: 4.0pt; + margin-bottom: 4.0pt; +} +a.expandspot { + color: #008000; + cursor: pointer; + font-style: italic; + text-decoration: none; +} +span.expandtext { + font-style: italic; + font-weight: normal; + color: #ff0000; +} +a.dropspot { + cursor: pointer; + color: #008000; + font-style: italic; + text-decoration: none; +} +a.glossterm { + color: #800000; + cursor: pointer; + font-style: italic; + text-decoration: none; +} +span.glosstext { + font-style: italic; + font-weight: normal; + color: #0000ff; +} +ol { + margin-top: 0px; + margin-bottom: 0px; +} +ul { + margin-top: 0px; + margin-bottom: 0px; +} + +a.minitoc-caption { + text-decoration: none; + color: initial; + font-weight: bold; + font-size: 12pt; +} +p.minitoc-caption { + font-weight: bold; + font-size: 12pt; +} +ol.minitoc-list { + padding-left: 0; + margin-left: 0; + list-style: none; +} +ol.minitoc-list ol { + list-style: none; +} +a.minitoc-list-item { + +} + +div.breadcrumbs{ + +} + +span.breadcrumbs-home-prefix{ + +} + +a.breadcrumbs-home{ + +} + + +.breadcrumbs-separator{ + +} + +a.breadcrumbs-link{ + +} + +a.breadcrumbs-topic{ + +} + +p.seealso-caption { + font-weight: bold; + font-size: 12pt; +} +ol.seealso-list { + padding-left: 0; + margin-left: 0; + list-style: none; +} +a.seealso-list-item { + +} + +p.reltopics-caption { + font-weight: bold; + font-size: 12pt; +} +ol.reltopics-list { + padding-left: 0; + margin-left: 0; + list-style: none; +} +a.reltopics-list-item { + +} diff --git a/Master_Folder/Master/contents/assets/images/Python.png b/Master_Folder/Master/contents/assets/images/Python.png new file mode 100644 index 00000000..36f79c14 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/Python.png differ diff --git a/Master_Folder/Master/contents/assets/images/add_new_file_1.png b/Master_Folder/Master/contents/assets/images/add_new_file_1.png new file mode 100644 index 00000000..f5fe9603 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/add_new_file_1.png differ diff --git a/Master_Folder/Master/contents/assets/images/add_new_file_2.png b/Master_Folder/Master/contents/assets/images/add_new_file_2.png new file mode 100644 index 00000000..85dd4904 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/add_new_file_2.png differ diff --git a/Master_Folder/Master/contents/assets/images/assignment_not_loading.png b/Master_Folder/Master/contents/assets/images/assignment_not_loading.png new file mode 100644 index 00000000..1c39d914 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/assignment_not_loading.png differ diff --git a/Master_Folder/Master/contents/assets/images/chromecookies.png b/Master_Folder/Master/contents/assets/images/chromecookies.png new file mode 100644 index 00000000..8c0f2789 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/chromecookies.png differ diff --git a/Master_Folder/Master/contents/assets/images/createsharecode.png b/Master_Folder/Master/contents/assets/images/createsharecode.png new file mode 100644 index 00000000..5777e163 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/createsharecode.png differ diff --git a/Master_Folder/Master/contents/assets/images/crosssitetracking.png b/Master_Folder/Master/contents/assets/images/crosssitetracking.png new file mode 100644 index 00000000..98b00335 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/crosssitetracking.png differ diff --git a/Master_Folder/Master/contents/assets/images/delete_file_1.png b/Master_Folder/Master/contents/assets/images/delete_file_1.png new file mode 100644 index 00000000..4f1e536f Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/delete_file_1.png differ diff --git a/Master_Folder/Master/contents/assets/images/delete_file_2.png b/Master_Folder/Master/contents/assets/images/delete_file_2.png new file mode 100644 index 00000000..a1dbc202 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/delete_file_2.png differ diff --git a/Master_Folder/Master/contents/assets/images/deleted_file_image.png b/Master_Folder/Master/contents/assets/images/deleted_file_image.png new file mode 100644 index 00000000..1f4da932 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/deleted_file_image.png differ diff --git a/Master_Folder/Master/contents/assets/images/edit_mode2.png b/Master_Folder/Master/contents/assets/images/edit_mode2.png new file mode 100644 index 00000000..f8601c15 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/edit_mode2.png differ diff --git a/Master_Folder/Master/contents/assets/images/edit_mode3.png b/Master_Folder/Master/contents/assets/images/edit_mode3.png new file mode 100644 index 00000000..74532068 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/edit_mode3.png differ diff --git a/Master_Folder/Master/contents/assets/images/editmode.png b/Master_Folder/Master/contents/assets/images/editmode.png new file mode 100644 index 00000000..1d824c0f Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/editmode.png differ diff --git a/Master_Folder/Master/contents/assets/images/folder_icon.png b/Master_Folder/Master/contents/assets/images/folder_icon.png new file mode 100644 index 00000000..8f26d2c7 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/folder_icon.png differ diff --git a/Master_Folder/Master/contents/assets/images/grading-unit.png b/Master_Folder/Master/contents/assets/images/grading-unit.png new file mode 100644 index 00000000..6a7b605e Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/grading-unit.png differ diff --git a/Master_Folder/Master/contents/assets/images/hover.png b/Master_Folder/Master/contents/assets/images/hover.png new file mode 100644 index 00000000..e2f495f1 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/hover.png differ diff --git a/Master_Folder/Master/contents/assets/images/java.png b/Master_Folder/Master/contents/assets/images/java.png new file mode 100644 index 00000000..074fb95a Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/java.png differ diff --git a/Master_Folder/Master/contents/assets/images/latest_version.png b/Master_Folder/Master/contents/assets/images/latest_version.png new file mode 100644 index 00000000..0db3045c Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/latest_version.png differ diff --git a/Master_Folder/Master/contents/assets/images/login_as.png b/Master_Folder/Master/contents/assets/images/login_as.png new file mode 100644 index 00000000..706d98f7 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/login_as.png differ diff --git a/Master_Folder/Master/contents/assets/images/login_as_alternative.png b/Master_Folder/Master/contents/assets/images/login_as_alternative.png new file mode 100644 index 00000000..881064f8 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/login_as_alternative.png differ diff --git a/Master_Folder/Master/contents/assets/images/module_browser.png b/Master_Folder/Master/contents/assets/images/module_browser.png new file mode 100644 index 00000000..360f08be Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/module_browser.png differ diff --git a/Master_Folder/Master/contents/assets/images/open_project.png b/Master_Folder/Master/contents/assets/images/open_project.png new file mode 100644 index 00000000..5927c2c1 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/open_project.png differ diff --git a/Master_Folder/Master/contents/assets/images/override.png b/Master_Folder/Master/contents/assets/images/override.png new file mode 100644 index 00000000..c496fa7a Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/override.png differ diff --git a/Master_Folder/Master/contents/assets/images/override_grade.png b/Master_Folder/Master/contents/assets/images/override_grade.png new file mode 100644 index 00000000..991deb79 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/override_grade.png differ diff --git a/Master_Folder/Master/contents/assets/images/preview.png b/Master_Folder/Master/contents/assets/images/preview.png new file mode 100644 index 00000000..759b8c5c Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/preview.png differ diff --git a/Master_Folder/Master/contents/assets/images/pull.png b/Master_Folder/Master/contents/assets/images/pull.png new file mode 100644 index 00000000..96c6a79c Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/pull.png differ diff --git a/Master_Folder/Master/contents/assets/images/renameassignment.png b/Master_Folder/Master/contents/assets/images/renameassignment.png new file mode 100644 index 00000000..f71b08eb Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/renameassignment.png differ diff --git a/Master_Folder/Master/contents/assets/images/renamemodule.png b/Master_Folder/Master/contents/assets/images/renamemodule.png new file mode 100644 index 00000000..ab037f1e Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/renamemodule.png differ diff --git a/Master_Folder/Master/contents/assets/images/reordermodule.png b/Master_Folder/Master/contents/assets/images/reordermodule.png new file mode 100644 index 00000000..0ee97269 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/reordermodule.png differ diff --git a/Master_Folder/Master/contents/assets/images/resetunitall.png b/Master_Folder/Master/contents/assets/images/resetunitall.png new file mode 100644 index 00000000..df1678ee Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/resetunitall.png differ diff --git a/Master_Folder/Master/contents/assets/images/resetunitstudent.png b/Master_Folder/Master/contents/assets/images/resetunitstudent.png new file mode 100644 index 00000000..ee2e98bb Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/resetunitstudent.png differ diff --git a/Master_Folder/Master/contents/assets/images/select course.png b/Master_Folder/Master/contents/assets/images/select course.png new file mode 100644 index 00000000..5a6b935a Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/select course.png differ diff --git a/Master_Folder/Master/contents/assets/images/teaching_mode.png b/Master_Folder/Master/contents/assets/images/teaching_mode.png new file mode 100644 index 00000000..d8ef73d7 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/teaching_mode.png differ diff --git a/Master_Folder/Master/contents/assets/images/teaching_mode_icon.png b/Master_Folder/Master/contents/assets/images/teaching_mode_icon.png new file mode 100644 index 00000000..640d1e3f Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/teaching_mode_icon.png differ diff --git a/Master_Folder/Master/contents/assets/images/token.png b/Master_Folder/Master/contents/assets/images/token.png new file mode 100644 index 00000000..1c8c57dc Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/token.png differ diff --git a/Master_Folder/Master/contents/assets/images/update_book.png b/Master_Folder/Master/contents/assets/images/update_book.png new file mode 100644 index 00000000..82edb7b5 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/update_book.png differ diff --git a/Master_Folder/Master/contents/assets/images/updateassignment.png b/Master_Folder/Master/contents/assets/images/updateassignment.png new file mode 100644 index 00000000..33214275 Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/updateassignment.png differ diff --git a/Master_Folder/Master/contents/assets/images/updatedialog.png b/Master_Folder/Master/contents/assets/images/updatedialog.png new file mode 100644 index 00000000..1d82c28d Binary files /dev/null and b/Master_Folder/Master/contents/assets/images/updatedialog.png differ diff --git a/Master_Folder/Master/contents/assets/masterpages/book.htt b/Master_Folder/Master/contents/assets/masterpages/book.htt new file mode 100644 index 00000000..50afa8d7 --- /dev/null +++ b/Master_Folder/Master/contents/assets/masterpages/book.htt @@ -0,0 +1,29 @@ + + + + + + book + + + + +
+

+
+
+

This is Body Placeholder text for your Master Page. Topics created using this Master Page will get this text by default. Replace text of this Body Placeholder with your default content for topics.

+

 

+

Area outside this Body Placeholder represents the layout of the Master Page which will not be shown in the associated topics but will be present in the output. The Body Placeholder content will be replaced by actual topic content in the output.

+

 

+

Use Master Page to define the layout of your topic in the output.

+
+
+

Blank Project1                                                                                                        Page 1 of + 1 + +

+
+ + \ No newline at end of file diff --git a/Master_Folder/Master/glossary/Default.glo b/Master_Folder/Master/glossary/Default.glo new file mode 100644 index 00000000..8604ff33 --- /dev/null +++ b/Master_Folder/Master/glossary/Default.glo @@ -0,0 +1,4 @@ + + + +Glossary Definitions \ No newline at end of file diff --git a/Master_Folder/Master/index/Default.idx b/Master_Folder/Master/index/Default.idx new file mode 100644 index 00000000..442a7bd5 --- /dev/null +++ b/Master_Folder/Master/index/Default.idx @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Master_Folder/Master/publish/languages/labels/en_US.lng b/Master_Folder/Master/publish/languages/labels/en_US.lng new file mode 100644 index 00000000..f072f570 --- /dev/null +++ b/Master_Folder/Master/publish/languages/labels/en_US.lng @@ -0,0 +1,3 @@ + + + diff --git a/Master_Folder/Master/publish/presets/Content Only.preset b/Master_Folder/Master/publish/presets/Content Only.preset new file mode 100644 index 00000000..5bfbd583 --- /dev/null +++ b/Master_Folder/Master/publish/presets/Content Only.preset @@ -0,0 +1,66 @@ + + + + true + true + true + + ../../toc/Default.toc + Default + + + ../../glossary/Default.glo + Default + + + + false + false + + default.xml + + true + 100 + true + true + true + false + 0;1;2;3;4;5;6;7;8;9 + + Content Only + xml + Blank Project + C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Content Only + true + true + + XHTML + XHTML + + + + false + true + true + true + true + true + + + true + true + true + true + + + true + false + false + true + true + true + true + + + true + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/EPUB.preset b/Master_Folder/Master/publish/presets/EPUB.preset new file mode 100644 index 00000000..f5dcbec2 --- /dev/null +++ b/Master_Folder/Master/publish/presets/EPUB.preset @@ -0,0 +1,37 @@ + + + + true + + ../../toc/Default.toc + Default + + + ../../glossary/Default.glo + Default + + + + + false + false + + Default.epub + + false + + false + 0;1;2;3;4;5;6;7;8;9 + + + false + + + + EPUB + epub + Blank Project + + C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/EPUB + true + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Frameless.preset b/Master_Folder/Master/publish/presets/Frameless.preset new file mode 100644 index 00000000..2ab6c90c --- /dev/null +++ b/Master_Folder/Master/publish/presets/Frameless.preset @@ -0,0 +1,100 @@ + + + + + + +true + + + +../../toc/Default.toc + +Default + + + + +../../glossary/Default.glo + +Default + + + + + + + + +true + +true + + +index.htm + + + +false + +100 + +true + +true + +true + +false + +0;1;2;3;4;5;6;7;8;9 + +20 + + + + +false + + + + + + +Frameless + +frameless + +Blank Project + + + +First_Topic.htm + +../../contents/Getting_Started_Onboarding/First_Topic.htm + + +0 + +false + +C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Frameless + +true + +true + + + +dialogflow + +Google Dialogflow + + + + +true + +false + + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Microcontent.preset b/Master_Folder/Master/publish/presets/Microcontent.preset new file mode 100644 index 00000000..c74d5b19 --- /dev/null +++ b/Master_Folder/Master/publish/presets/Microcontent.preset @@ -0,0 +1,85 @@ + + + + + + +true + + + +../../toc/Default.toc + +Default + + + + +../../glossary/Default.glo + +Default + + + + + + + + + +index.htm + + + +false + +100 + +true + +true + +true + +false + +0;1;2;3;4;5;6;7;8;9 + + + + +false + + + + + + +Microcontent + +caas + +Blank Project + + + +First_Topic.htm + +../../contents/Getting_Started_Onboarding/First_Topic.htm + + +0 + +false + +C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Microcontent + + + +htmlcss + +HTML5 + CSS3 + + +true + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Microsoft HTML Help.preset b/Master_Folder/Master/publish/presets/Microsoft HTML Help.preset new file mode 100644 index 00000000..2f9796e6 --- /dev/null +++ b/Master_Folder/Master/publish/presets/Microsoft HTML Help.preset @@ -0,0 +1,72 @@ + + + + + + +true + + + +../../toc/Default.toc + +Default + + + + +../../glossary/Default.glo + +Default + + + + + + + + +true + +true + + +Default.chm + + + +false + + + +false + +0;1;2;3;4;5;6;7;8;9 + + + + +false + + + + + + +Microsoft HTML Help + +chm + +Blank Project + + + +First_Topic.htm + +../../contents/Getting_Started_Onboarding/First_Topic.htm + + +C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Microsoft HTML Help + +true + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Mobile App.preset b/Master_Folder/Master/publish/presets/Mobile App.preset new file mode 100644 index 00000000..20ccc3da --- /dev/null +++ b/Master_Folder/Master/publish/presets/Mobile App.preset @@ -0,0 +1,107 @@ + + + + + + +true + + + +../../toc/Default.toc + +Default + + + + +../../glossary/Default.glo + +Default + + + + + + +true + +true + + +index.html + + + +true + +100 + +true + +true + +true + +false + +0;1;2;3;4;5;6;7;8;9 + +20 + + + + +true + + + + + + + + +Mobile App + +mobileapp + +Blank Project + + + +First_Topic.htm + +../../contents/Getting_Started_Onboarding/First_Topic.htm + + + + + + +Mobile App + +Mobile App/config.json + + +true + +false + + +0 + +true + +C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Mobile App + +true + +true + + + +dialogflow + +Google Dialogflow + + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/PDF.preset b/Master_Folder/Master/publish/presets/PDF.preset new file mode 100644 index 00000000..9acc2e1e --- /dev/null +++ b/Master_Folder/Master/publish/presets/PDF.preset @@ -0,0 +1,61 @@ + + + + false + + ../../toc/Default.toc + Default + + + ../../contents/assets/masterpages/book.htt + + + + false + false + true + + Default.pdf + + false + + false + 0;1;2;3;4;5;6;7;8;9 + + + false + + + + PDF + pdf + Blank Project + + + false + + 15mm + 15mm + 15mm + 15mm + + false + false + true + true + true + false + false + 1 + 96 + false + true + false + false + true + false + + C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/PDF + false + true + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Responsive HTML5.preset b/Master_Folder/Master/publish/presets/Responsive HTML5.preset new file mode 100644 index 00000000..527f02f9 --- /dev/null +++ b/Master_Folder/Master/publish/presets/Responsive HTML5.preset @@ -0,0 +1,102 @@ + + + + + + +true + + + +../../toc/Default.toc + +Default + + + + +../../glossary/Default.glo + +Default + + + + + + +true + +true + + +index.htm + + + +true + +100 + +true + +true + +true + +false + +0;1;2;3;4;5;6;7;8;9 + +20 + + + + +true + + + + + + + + +Responsive HTML5 + +html5 + +Blank Project + + + +First_Topic.htm + +../../contents/Getting_Started_Onboarding/First_Topic.htm + + +0 + +true + +true + +C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Responsive HTML5 + +true + +true + + + +dialogflow + +Google Dialogflow + + + + +true + +false + + \ No newline at end of file diff --git a/Master_Folder/Master/publish/presets/Word Document.preset b/Master_Folder/Master/publish/presets/Word Document.preset new file mode 100644 index 00000000..05ed971e --- /dev/null +++ b/Master_Folder/Master/publish/presets/Word Document.preset @@ -0,0 +1,33 @@ + + + Word Document + word + Blank Project + + false + + ../../toc/Default.toc + Default + + + ../../contents/assets/masterpages/book.htt + + + true + false + false + + + {"selectorMap":{},"discardSelectors":[],"identityMappedSelectors":[]} + false + false + + true + Default.docx + true + C:/Users/David Lance/Documents/My RoboHelp Projects/outputs/Master/Word Document + + false + 0;1;2;3;4;5;6;7;8;9 + + \ No newline at end of file diff --git a/Master_Folder/Master/settings/import/fm/default.fsf b/Master_Folder/Master/settings/import/fm/default.fsf new file mode 100644 index 00000000..823d568e --- /dev/null +++ b/Master_Folder/Master/settings/import/fm/default.fsf @@ -0,0 +1,24 @@ + + + + + 257 + 24 + 100 + 0 + 33292 + + 0 + 0 + 0 + 0 + 0 + + + <$paratext> + 1 + 1 + + + + \ No newline at end of file diff --git a/Master_Folder/Master/settings/import/word/default.wsf b/Master_Folder/Master/settings/import/word/default.wsf new file mode 100644 index 00000000..9143eee4 --- /dev/null +++ b/Master_Folder/Master/settings/import/word/default.wsf @@ -0,0 +1,11 @@ +{ + "styleMappingCssPath": "", + "breakSelectors": [], + "customTagSelectorNames": [], + "convertList": true, + "selectorMap": {}, + "ignoredStyles": {}, + "noStyles": false, + "importInlineStyles": false, + "asciiFileNames": false +} \ No newline at end of file diff --git a/Master_Folder/Master/toc/Default.toc b/Master_Folder/Master/toc/Default.toc new file mode 100644 index 00000000..27a0c1ea --- /dev/null +++ b/Master_Folder/Master/toc/Default.toc @@ -0,0 +1,8 @@ + + + + +Table of Contents + + + \ No newline at end of file diff --git a/Master_Folder/Master/toc/Practice-Student.toc b/Master_Folder/Master/toc/Practice-Student.toc new file mode 100644 index 00000000..946c2c9a --- /dev/null +++ b/Master_Folder/Master/toc/Practice-Student.toc @@ -0,0 +1,10 @@ + + + Practice-Student + + + + + + + \ No newline at end of file diff --git a/Master_Folder/Master/variable/Default.var b/Master_Folder/Master/variable/Default.var new file mode 100644 index 00000000..b11cf1ce --- /dev/null +++ b/Master_Folder/Master/variable/Default.var @@ -0,0 +1,6 @@ + + + + +Variables + \ No newline at end of file diff --git a/Master_Folder/images/Python.png b/Master_Folder/images/Python.png new file mode 100644 index 00000000..36f79c14 Binary files /dev/null and b/Master_Folder/images/Python.png differ diff --git a/Master_Folder/images/add_new_file_1.png b/Master_Folder/images/add_new_file_1.png new file mode 100644 index 00000000..f5fe9603 Binary files /dev/null and b/Master_Folder/images/add_new_file_1.png differ diff --git a/Master_Folder/images/add_new_file_2.png b/Master_Folder/images/add_new_file_2.png new file mode 100644 index 00000000..7a0fbdcd Binary files /dev/null and b/Master_Folder/images/add_new_file_2.png differ diff --git a/Master_Folder/images/assignment_not_loading.png b/Master_Folder/images/assignment_not_loading.png new file mode 100644 index 00000000..1c39d914 Binary files /dev/null and b/Master_Folder/images/assignment_not_loading.png differ diff --git a/Master_Folder/images/chromecookies.png b/Master_Folder/images/chromecookies.png new file mode 100644 index 00000000..8c0f2789 Binary files /dev/null and b/Master_Folder/images/chromecookies.png differ diff --git a/Master_Folder/images/createsharecode.png b/Master_Folder/images/createsharecode.png new file mode 100644 index 00000000..5777e163 Binary files /dev/null and b/Master_Folder/images/createsharecode.png differ diff --git a/Master_Folder/images/crosssitetracking.png b/Master_Folder/images/crosssitetracking.png new file mode 100644 index 00000000..98b00335 Binary files /dev/null and b/Master_Folder/images/crosssitetracking.png differ diff --git a/Master_Folder/images/delete_file_1.png b/Master_Folder/images/delete_file_1.png new file mode 100644 index 00000000..4f1e536f Binary files /dev/null and b/Master_Folder/images/delete_file_1.png differ diff --git a/Master_Folder/images/delete_file_2.png b/Master_Folder/images/delete_file_2.png new file mode 100644 index 00000000..a1dbc202 Binary files /dev/null and b/Master_Folder/images/delete_file_2.png differ diff --git a/Master_Folder/images/deleted_file_image.png b/Master_Folder/images/deleted_file_image.png new file mode 100644 index 00000000..1f4da932 Binary files /dev/null and b/Master_Folder/images/deleted_file_image.png differ diff --git a/Master_Folder/images/edit_mode2.png b/Master_Folder/images/edit_mode2.png new file mode 100644 index 00000000..f8601c15 Binary files /dev/null and b/Master_Folder/images/edit_mode2.png differ diff --git a/Master_Folder/images/edit_mode3.png b/Master_Folder/images/edit_mode3.png new file mode 100644 index 00000000..74532068 Binary files /dev/null and b/Master_Folder/images/edit_mode3.png differ diff --git a/Master_Folder/images/editmode.png b/Master_Folder/images/editmode.png new file mode 100644 index 00000000..1d824c0f Binary files /dev/null and b/Master_Folder/images/editmode.png differ diff --git a/Master_Folder/images/folder_icon.png b/Master_Folder/images/folder_icon.png new file mode 100644 index 00000000..8f26d2c7 Binary files /dev/null and b/Master_Folder/images/folder_icon.png differ diff --git a/Master_Folder/images/grading-unit.png b/Master_Folder/images/grading-unit.png new file mode 100644 index 00000000..6a7b605e Binary files /dev/null and b/Master_Folder/images/grading-unit.png differ diff --git a/Master_Folder/images/hover.png b/Master_Folder/images/hover.png new file mode 100644 index 00000000..e2f495f1 Binary files /dev/null and b/Master_Folder/images/hover.png differ diff --git a/Master_Folder/images/java.png b/Master_Folder/images/java.png new file mode 100644 index 00000000..074fb95a Binary files /dev/null and b/Master_Folder/images/java.png differ diff --git a/Master_Folder/images/latest_version.png b/Master_Folder/images/latest_version.png new file mode 100644 index 00000000..0db3045c Binary files /dev/null and b/Master_Folder/images/latest_version.png differ diff --git a/Master_Folder/images/login_as.png b/Master_Folder/images/login_as.png new file mode 100644 index 00000000..706d98f7 Binary files /dev/null and b/Master_Folder/images/login_as.png differ diff --git a/Master_Folder/images/login_as_alternative.png b/Master_Folder/images/login_as_alternative.png new file mode 100644 index 00000000..881064f8 Binary files /dev/null and b/Master_Folder/images/login_as_alternative.png differ diff --git a/Master_Folder/images/module_browser.png b/Master_Folder/images/module_browser.png new file mode 100644 index 00000000..360f08be Binary files /dev/null and b/Master_Folder/images/module_browser.png differ diff --git a/Master_Folder/images/open_project.png b/Master_Folder/images/open_project.png new file mode 100644 index 00000000..5927c2c1 Binary files /dev/null and b/Master_Folder/images/open_project.png differ diff --git a/Master_Folder/images/override.png b/Master_Folder/images/override.png new file mode 100644 index 00000000..c496fa7a Binary files /dev/null and b/Master_Folder/images/override.png differ diff --git a/Master_Folder/images/override_grade.png b/Master_Folder/images/override_grade.png new file mode 100644 index 00000000..991deb79 Binary files /dev/null and b/Master_Folder/images/override_grade.png differ diff --git a/Master_Folder/images/preview.png b/Master_Folder/images/preview.png new file mode 100644 index 00000000..759b8c5c Binary files /dev/null and b/Master_Folder/images/preview.png differ diff --git a/Master_Folder/images/pull.png b/Master_Folder/images/pull.png new file mode 100644 index 00000000..96c6a79c Binary files /dev/null and b/Master_Folder/images/pull.png differ diff --git a/Master_Folder/images/renameassignment.png b/Master_Folder/images/renameassignment.png new file mode 100644 index 00000000..f71b08eb Binary files /dev/null and b/Master_Folder/images/renameassignment.png differ diff --git a/Master_Folder/images/renamemodule.png b/Master_Folder/images/renamemodule.png new file mode 100644 index 00000000..ab037f1e Binary files /dev/null and b/Master_Folder/images/renamemodule.png differ diff --git a/Master_Folder/images/reordermodule.png b/Master_Folder/images/reordermodule.png new file mode 100644 index 00000000..0ee97269 Binary files /dev/null and b/Master_Folder/images/reordermodule.png differ diff --git a/Master_Folder/images/resetunitall.png b/Master_Folder/images/resetunitall.png new file mode 100644 index 00000000..df1678ee Binary files /dev/null and b/Master_Folder/images/resetunitall.png differ diff --git a/Master_Folder/images/resetunitstudent.png b/Master_Folder/images/resetunitstudent.png new file mode 100644 index 00000000..ee2e98bb Binary files /dev/null and b/Master_Folder/images/resetunitstudent.png differ diff --git a/Master_Folder/images/select course (1).png b/Master_Folder/images/select course (1).png new file mode 100644 index 00000000..c6b36062 Binary files /dev/null and b/Master_Folder/images/select course (1).png differ diff --git a/Master_Folder/images/select course.png b/Master_Folder/images/select course.png new file mode 100644 index 00000000..5a6b935a Binary files /dev/null and b/Master_Folder/images/select course.png differ diff --git a/Master_Folder/images/teaching_mode.png b/Master_Folder/images/teaching_mode.png new file mode 100644 index 00000000..d8ef73d7 Binary files /dev/null and b/Master_Folder/images/teaching_mode.png differ diff --git a/Master_Folder/images/teaching_mode_icon.png b/Master_Folder/images/teaching_mode_icon.png new file mode 100644 index 00000000..640d1e3f Binary files /dev/null and b/Master_Folder/images/teaching_mode_icon.png differ diff --git a/Master_Folder/images/token.png b/Master_Folder/images/token.png new file mode 100644 index 00000000..1c8c57dc Binary files /dev/null and b/Master_Folder/images/token.png differ diff --git a/Master_Folder/images/update_book.png b/Master_Folder/images/update_book.png new file mode 100644 index 00000000..82edb7b5 Binary files /dev/null and b/Master_Folder/images/update_book.png differ diff --git a/Master_Folder/images/updateassignment.png b/Master_Folder/images/updateassignment.png new file mode 100644 index 00000000..33214275 Binary files /dev/null and b/Master_Folder/images/updateassignment.png differ diff --git a/Master_Folder/images/updatedialog.png b/Master_Folder/images/updatedialog.png new file mode 100644 index 00000000..1d82c28d Binary files /dev/null and b/Master_Folder/images/updatedialog.png differ diff --git a/Source_graphics/CNAME b/Source_graphics/CNAME new file mode 100644 index 00000000..4aad0954 --- /dev/null +++ b/Source_graphics/CNAME @@ -0,0 +1 @@ +docs.codio.com \ No newline at end of file diff --git a/Source_graphics/courses/assessments-library.md b/Source_graphics/courses/assessments-library.md new file mode 100644 index 00000000..0d3d581f --- /dev/null +++ b/Source_graphics/courses/assessments-library.md @@ -0,0 +1,190 @@ +--- +title: Assessments Library + + +--- + +## Overview +An **assessment library** in Codio is a collection of existing assessment items. + +You can [create assessments libraries within your organization](/dashboard/organisations/#create-an-organization-assessments-library). You can organize your libraries by course number, programming language, department, etc. + +You can [use existing assessments from Codio's Global library.](/courses/assessments-library/#codios-global-assessments-library) + +To navigate through an assessments library, [you filter based on tags.](/courses/assessments-library/#searching-and-adding-questions-from-the-assessments-library) The Codio assessments library has a number of tags - your organization can come up with a convention that works for you! + +## Adding Questions to an Assessments Library +Once an assessment is added to an assessment library, it can be accessed later and added to a project or course with ease. Adding assessments to an assessment library has a few simple steps. Before you begin, you or someone else in your organization with [adminstrator access](/dashboard/organisations/#administrator-role) needs to [create an organization assessments library](/dashboard/organisations/#create-an-organization-assessments-library) if you do not already have one. + +1. The first step is creating the assessment. It is similar to how you [normally create an assessment](/courses/assessments/#assessments) with a few things you should note: + + * Assessments on pages set to the [*1 Panel without tree* layout](/courses/settings-actions/#layout) will be saved with a [simple layout](/courses/assessments-library/#simple-vs-complex-layouts). + + * Use [the metadata tab](/courses/assessments/#metadata) to tag your assessment so it appears when the [assessments library is searched](/courses/assessments-library/#searching-assessments-library) + + * Use [the files tab](/courses/assessments/#files) to ensure all dependent files such as grading scripts, images used in the guides pane, etc. are associated with the assessment so it works properly when added from the library + + Once the assessment is written, we can add it to an assessment library. Click the **"SAVE IN LIBRARY"** button on the bottom right of the window: + ![Save to library](/img/guides/assessment-save-to-library.png) + + +1. A window will appear with a dropdown menu of all the available libraries that the question can be added to. Choose the desired library from the dropdown menu. + + ![Library selection](/img/guides/assessment-library-selection-menu.png) + +1. Once the desired library has been chosen, press the **"ADD"** button. + + ![Selecting library](/img/guides/assessment-library-selection.png) + +The assessment has now been added to the chosen library. + +If you get an error message, you may not have [write access to your organization's assessment library](/dashboard/organisations/#add-collaborators-to-an-assessments-library). + +Once a question has been added, [follow these steps to update the assessment in your organization's library.](/courses/assessments-library/#unlinking-and-updating-assessments-from-library) + +Additionally, you can [disconnnect questions](/courses/assessments-library/#unlinking-an-assessment) from [Codio's global assessments library](/courses/assessments-library/#codios-global-assessments-library), modify them, and then add your version using the steps above! + +## Codio's Global Assessments Library +The Global Assessments Library is an assessment library that all Codio users have read-only access to. The library contains auto-graded assessment questions covering a wide variety of topics, difficulties, and assessment types. We are currently populating it with assessments in: + +- Java +- C / C++ +- Python +- JavaScript +- Data Structures (in Java) + + +### Features of Global Assessments Library + +All assessments in the global library are auto-graded, there is no manual grading necessary. All assessments also contain example solutions and answer explanations for the student. Some will also have teacher notes to help better convey the intended learning objective of the assessment. + +### Using the Global Assessments Library + +Using the library is similar to using any other assessment library in your organization. Simply go to the assessments drop-down in the guides editor, click on "Assessment Library", and choose the **Codio Main** under "Library Name". + +[You can filter through the different assessments](/courses/assessments-library/#searching-and-adding-questions-from-the-assessments-library) by: +- Programming language +- Assessment type +- Category (topic-level) +- Content (sub-topic level) +- Learning Objective (in SWBAT form - "Students will be able to....") +- Bloom's Taxonomy level + ![Blooms Taxonomy](/img/bloomsTax.png) + +Here is an example of the tags in a Codio library assessment: +![Codio library](/img/CodioLibTags.png) + +*Assessment type is auto-detected and not manually specified.* + +[You can even get a small preview of the question text!](/courses/assessments-library/#previewing-question) Once you find a suitable assessment, [add it to your project](/courses/assessments-library/#adding-questions-from-assessments-library). + +### Remixing questions from the Global Assessments Library +If you like an assessment in our assessments library but want to add your own twist to it, you can [disconnect the question from the library](/courses/assessments-library/#unlinking-an-assessment). + +Then, simply modify the assessment as you'd like! + +Additionally, you can then [add your version of the assessments to your organization's assessment library](/courses/assessments-library/#adding-questions-to-an-assessments-library). + +### Bugs +If you find a bug or error with an assessment, please [contact us](/dashboard/support) +## Unlinking and Updating Assessments from Library +### Updating an Existing Assessment +1. Click on the "Add Assessment Icon" +![Create assessment](/img/CreateAssessment.png) + +1. Click on the assessment you want to edit in the "Edit assessments" portion of the dropdown menu +![Edit assessment](/img/EditAssessmsent.png) + +1. Change whatever it is you want to change + +1. Click "Update In Library" +![Update library](/img/UpdateInLib.png) + + + +### Unlinking an Assessment +1. Click on the "Add Assessment Icon" +![Create assessment](/img/CreateAssessment.png) + +1. Click on the assessment you want to disconnect in the "Edit assessments" portion of the dropdown menu +![Edit assessment](/img/EditAssessmsent.png) + +1. Click "disconnect" +![Disconnect](/img/DisconnectFromlib.png) + +1. Codio will display a message confirming that the assessment has been successfully disconnected from the appropriate library. You should also notice the link icon is no longer present next to the assessment in the "Edit assessments" portion of the dropdown menu +## Searching and Adding questions from the Assessments Library +Regardless of whether you are using [Codio's global assessments library](/courses/assessments-library/#codios-global-assessments-library) or [your organization's assessment library](/dashboard/organisations/#organization-assessments-library), the steps for searching for and adding assessments from them are the same. + +### Searching Assessments Library +From the assessments drop down, select the "Assessment Library" option. +![Searching](/img/addFromLib.png) + +Use the drop down on the left to indicate which assessments library you want to search. +![Select library](/img/selectLib.png) + +To narrow down the assessments, input a tag and value pair. For example, you can search by the "Programming Language" (tag) and indicate you want "Python" (value) questions. The search is **not** case-sensitive. You will notice that Codio tries to help you by presenting auto-complete suggestions. +![Autocomplete](/img/autoComplete.png) + +You can also click on any of the tag fields you see in the current results and it will automatically filter to those and add a new row to your search query + +Once you have completed inputting the tag and value pair, you will get a list of results. +![Search results](/img/searchResults.png) + +You can add as many additional tag and value pairs or by clicking on tag:value pair currently shown to narrow your results by clicking the plus sign to the right of the value box. +![Add tags](/img/doubleTags.png) + +To navigate through your search results, you can use the scroll bar on the right to scroll through assessments on a page. Once you reach the bottom, you can use the page navigation in the top left to move backwards/forwards a page or jump to a certain page of results. +![Scroll results](/img/scrollThrough.png) + + +### Previewing Question +You can get a sneak peek of the question text by clicking within a listed assessment's white box. The question text will appear below the listed value/tag pairs. +![Previewing](/img/previewQuestion1.png) + +If you preview a second question, the first preview will collapse. +![More previewing](/img/previewQuestion2.png) + +### Saving Searches +If you find a set of particular search parameters you want to save, you can do so by simply clicking the "Save" button to the right of the tags and values boxes. +![authtoken](/img/doubleTags2.png) + +A prompt will ask you for the "Search Name" - this is how it will be listed in your saved search list. +![Search name](/img/nameSearch.png) + +### Using Saved Searches +To use a saved search, you click on the "Saved" drop down to the right of the tags and values boxes. Select the search you want to use by clicking on it's name. +![Saved searches](/img/savedSearch.png) + +You will then be able to see all the parameters you saved previously. You can edit these search parameters freely without changing your saved search. + + +If you find a set of search parameters you like better, you can simply save the new set and delete your old search. + +### Deleting Saved Searches +To remove a saved search, you click on the "Saved" drop down to the right of the tags and values boxes. Delete the saved search by clicking on the red "x" to the right of it's name. +![Delete saved search](/img/savedSearchDelete.png) + + +## Adding Questions from Assessments Library +Once you have found an assessment you would like to add to, simply press the "Add" button to the right. +![Select question](/img/selectQuestion.png) + +Please note the difference between layouts to know how it will be inserted. + + +### Simple vs Complex Layouts +In Codio's assessments libraries, there are two types of layouts: + +- **Simple** + + An assessment in the library has a **simple** layout if it was added with the [*1 Panel without tree* layout](/courses/settings-actions/#page). When adding a simple layout question to your project or book, the assessment will be inserted into the current page at your cursor's location. + +- **Complex** + + An assessment in the library has a **complex** layout if it was added with any layout besides 1 Panel without tree. When adding a complex layout question to your project or book, the assessment will be inserted on a new page directly after the current page. + +### How do you tell the difference? +When you are filtering the assessments library, you will notice the "complex layout" icon on assessments saved with a complex layout. All assessments without the icon are simple layout assessments. +![Layout icon](/img/complexLayoutIcon.png) + diff --git a/Source_graphics/courses/assessments.md b/Source_graphics/courses/assessments.md new file mode 100644 index 00000000..ff68027b --- /dev/null +++ b/Source_graphics/courses/assessments.md @@ -0,0 +1,1098 @@ +--- +title: Codio Assessments + + +--- + +## Assessments +Assessments allow you to ask any number of automatically or manually graded questions within your content. + +- They allow a student or a teacher to assess how well they are grasping the subject matter. +- Many assessment types are automatically graded, saving precious time for teachers and giving students instant feedback. +- A wide range of assessment types (automatic code tests, multiple choice tests, fill in the blanks, drop-down selection, free text responses and project grading) allow the broadest possible measurement of a student's progress. +- In course scenarios, all assessment responses feed through to a teacher dashboard. +- For multiple choice tests, fill in the blanks and drop-down selection assessment types, each individual assessment can only be answered once, giving a true reflection of understanding rather than being able to carry on answering until the correct answer is achieved. +- When an answer is submitted, the correct answer is shown to the student by default, but this can be disabled if required. + +You can choose to weave assessments into the tutorial materials or to create dedicated assessments content. + +### Example Project +https://codio.com/codio-units/java-example is a project that you can [copy](/project/ide/features/#copying-a-project) into your own Codio account and shows you how to create code tests and setup automatic marking. We would also recommend that you check out our [Demo Guides and Assessments](https://codio.com/home/starter-packs/cb114a27-d88e-4b74-a2a0-518ccb30dc44/) and **Use Pack** to create into your Codio account to review. + + +### Submit buttons and marking as complete +There are two concepts that are important to understand in order to control the way the student submits questions and the way a student marks a project as complete. [Click here](/courses/assessments/#student-submission-options) for a detailed discussion on these. + +### Adding a new assessment +To add a new assessment, you should first position the cursor in your content where you want it to appear. Then, from the assessments drop-down, select the type of assessment you wish to insert. + +![authtoken](/img/guides/add_assessment.png) + +### Editing an existing assessment +If you want to edit an existing assessment on the page you are viewing, you should press the settings button in the guide toolbar. In the lower section of the drop down list you will find any assessments on that page. Select one to edit. + +### Editing points given for an assessment +If you wish to edit/change points given for the assessment, you can do so editing each assessment individually as above or you can press the **Settings** icon in the authoring toolbar then select the **Assessments** tab. All assessments present in the current project are listed, and you can change the allocated points. You can enter any positive numeric value. + +![Assessment token](/img/assessmentpoints.png) + +### Deleting an assessment +Select the page where your assessment is located. Then remove the assessment token from the page. As assessment token looks like this. + +![Assessment token](/img/assessmenttoken.png) + +Once deleted, an assessment remains hidden. To fully remove it, press the **Settings** icon in the authoring toolbar then select the **Assessments** tab. All assessments present in the current project are listed. Deleted ones are highlighted in red. Press the red **x** button to delete it. + +### Autograding when a student completes a assignment +Codio allows you to run a special auto-grading script as soon as an assignment is completed by the student. This special type of assessment is managed from the assignment settings page in a course. [Click here](/courses/classes/#running-an-auto-grade-script) for details. + + +### Secure Script execution +If you store assessment scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. Codio ensures that only the original project author is able to access this folder but when it is assigned to Students as an assignment, it is not accessible in any way and the script runs in an ephemeral container isolated from the students assignment. +Any other scripts in the assignment that are not in this folder can be accessible to the students + + +## Student submission options +There are two important settings that control + +- the way that a student submits individual questions and +- the way a student notifies the course instructors that a assignment is completed. + +### The submit button +Until November 20th 2017, each assessment has a submit button beneath the assessment. Once pressed, the answer is autograded, if an MCQ, Fill In The Blank or Free Text question. If the **One attempt only** setting is selected for the assessment, then the student will be warned that they will not be able to resubmit. If this setting is not selected, then they will be able to resubmit a response. + +It is now possible to suppress the submit button entirely. The advantage of this is that students do not need to worry about the effect of pressing the button. They can simply provide a response and then move on to other assessments or pages in the guide. + +To suppress the use of the **Submit** button, you should go to the global settings tab in the guide and disable **Use submit buttons**. + +![Global Settings](/img/guides/globalsettings.png) + +Once the project is marked as complete (see below) then all assessment responses are fully submitted automatically. You should make sure that all students' work is marked as complete either manually or using the automated mark as complete option on the final deadline. + +### Mark as Complete +To suppress the student **Mark as complete** action, you should go to the guide global settings (see above screenshot) and disable **Use mark as complete**. + +A student can proactively mark as assignment as complete. This can trigger an [assignment level autograde script](/courses/classes/#autograde-method) and it is also flagged up in the teacher dashboard against that student. + +The drawback to using the student driven mark as complete option is that once students mark a assignment as complete, they are no longer able to make changes to the assignment, including answering assessments. The advantage is that instructors are able to grade those students' work ahead of a deadline. + +If the project has been marked as completed, students can click on the 'completed' button to access the grade feedback but if they wish to view the project, direct them to click on the name of the project on the left hand side. As the assignment is completed they will not be able to edit anything but can view the content. + +It is possible to disable the student side mark as complete option entirely so students do not need to think about doing it. It also means that instructors don't get requests from students to re-enable the assignment if they submitted by mistake or decided they want to change something. + +If you do not want students to mark as complete, then you will likely want to do one of the following + +- Once an arbitrary deadline has been reached, after which you want to start grading student work, you should [mark all students' work as complete](/courses/classes/#actions-area-settings) from the assignment actions area. +- Set an [end of assignment date](/courses/classes/#unit-duration) and specify that once the date is reached, the students' work should be marked as complete automatically. + + + +### Penalty deadlines +Another powerful feature that you may want to use is **Penalty deadlines**. This allows you to specify deadlines, before the final grading deadline, where a percentage deduction of the final grade is made. [Click here](/courses/classes/#set-assignment-penalties) for more information on managing penalty deadlines. + + + +## Standard code tests +If you want to write code tests that give you in depth control by allowing you to write your own code to execute tests, then please [refer to the advanced code tests](/courses/assessments/#advanced-code-tests). The majority of code tests, however, can be produced without writing any code at all using standard code tests. + +Standard code tests are dialog driven. You specify input data and the expected output for that input data. Codio will then execute the student code, supply the specified input data, and compare the expected output to the student code's actual output. + +### Sample Starter Pack +There is a Starter Pack project that you can add to your account. [Click here to install](https://codio.com/home/starter-packs/cc68d38b-b0ea-4825-9814-46a3594c2b11/) and **Use Pack** to create into your Codio account to review. This project contains examples for all assessment types as well as a guides authoring cheat sheet. + +### Video - Standard Code Test + +

+ +** Please note, since this video was created the ability to easily generate items to test has been added. See [Generate Items](/courses/assessments/#generate-items) below. + +### Basic setup +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General +The screenshot below shows the basic configuration fields for the _General_ section: + +![](/img/guides/assessment_general.png) + +- **Name** is a short name that describes the test. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** is the actual text that should be shown to the user, written in Markdown. + +#### Execution +The screenshot below shows the configuration fields for the _Execution_ section: + +![](/img/guides/assessment_sct_execution.png) + +- **Command** is the command that executes the student code itself. If you store the assessment scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. +- **Pre-exec command** is the command to execute before you run each test. This will normally be a compile command. +- Enabling the **Allow Partial Points** switch will allow partial points to be given. See the section [Partial Points](#partial-points) lower down on this page. With this enabled, the grade is based on the % of test cases the code passes. + +#### Grading +The screenshot below shows the configuration fields for the _Grading_ section: + +![Code Test Grading](/img/guides/assessment_sct_grading.png) + +- **Points** is the score given to the student if the code test passes. You can enter any positive numeric value. +- Enabling the **Allow Partial Points** switch will allow partial points to be given. See the section [Partial Points](#partial-points) lower down on this page. With this enabled, the grade is based on the % of test cases the code passes. +- **Case insensitive** tells Codio to make a case insensitive output comparison. By default, the comparison will be case sensitive. +- **Ignore white space** tells Codio to strip out any white space characters (carriage return, line feed, tab etc.) from both the expected output and the student output. It can be very helpful to enable this as it means you do not have to be over precise when specifying the fields or instructions. More information is provided below. +- **Substring match** tells Codio to perform a substring match when comparing the expected output to the student output. +- **One attempt only** allows the assessment to run only once. The student will be warned that they will not be able to resubmit. You would usually want to provide a [run button](/project/ide/boxes/#customizable-run-menu) or other means for the user to test the code before running the actual assessment. +- **Show expected answer** will show the students the expected output when they have submitted an answer for the question. To suppress this, flip the switch. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +##### Generate Items + +![Generate Items](/img/guides/generateitem.png) + +This allows you to generate your code test items more easily. + +Click on **Generate Item**, set the command to your script file (including any pre-exec command if required) +and then enter your inputs to generate the item to be checked by your code. + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### Cheating opportunities +If you show the expected output and allow multiple attempts, students may figure out that all they need to do is run the test, look at the expected output and then write the required output data. To avoid this, we recommend that you create one standard code assessment that shows expected inputs and outputs so the student can test. You award no points for this assessment. + +You then would create a second assessment that does not show expected output and allows only a single attempt. This way, the student will not know what input data is being passed in and does not have another opportunity to modify their code and re-run the assessment. + +### Specifying inputs and outputs +The final step in configuring an assessment is to set up the inputs and outputs in the _Grading_ section. There are some important details to understand. + +![](/img/guides/std-assessment-args.png) + +The first set of empty input/output fields is provided. You should choose between supplying your inputs as arguments or as `stdin` data. These are explained in more detail below. + +You should be aware of case sensitivity and whitespace characters as explained above. Generally speaking, using the 'ignore whitespace' setting is a good idea unless you do need to be exact in this respect. + +If you only have one input/output pair then the student could write code that simply outputs the expected output without writing any real logic. To protect against this you can create multiple input/output test cases that are run through sequentially. + +To add a new test case, press the **Add item to check** button which generates a new pair. + + +#### Inputs using arguments +The easiest way of supplying input data is in the **Input - Arguments** field as shown in the previous image. The argument data can then be read by the student code. + +#### Inputs using `stdin` +If you want to handle manual data input cases such as "Enter your Name: " then you would use the **Input - Stdin** field. This field allows you to supply the data that would normally be entered manually in the console. The following is important to avoid mistakes. + +- The input data should have a new line if this would be expected in the actual program execution. +- In the output field, you need to be aware that the prompt text that is displayed to the user appears in `stdout` and so it should be reflected in your output field but without the data entered by the user. Normally, you would **not** put a new line in the output field between each input prompt as the new line character is generated by the user when pressing the enter key is not a part of the output. +- We recommend that you enable the **Ignore white space** and **Substring match** options to be more tolerant. + +The following image shows how to format input and output fields if you are **not** ignoring white space or doing a **Substring match**. Note how the input field only supplied the values to be input, not the prompt itself (which is actually a part of `stdout`). It is important to accurately account for all spaces and carriage returns. + +![](/img/guides/std-assessment-stdin.png) + +The following image shows the more tolerant approach that has the **Ignore whitespace** option set. In this case, we have put everything on its own line for readability. The whitespace characters will be stripped out of both the expected output and the student output at runtime. + +![](/img/guides/std-assessment-stdin-ignore.png) + + +### Error Feedback + +To provide extended feedback about issues in the student's code, you can enable this option if you wish to show feedback to the student in the event the test fails. + +![](/img/guides/std-assessment-error.png) +## Advanced code tests +Before you read about the advanced code test, please be sure to check the [standard code tests](/courses/assessments/#standard-code-tests) as these require no coding at all, are very quick to set up and cover the majority of test cases you are likely to want to create. + +The advanced code test assessment type allows you to write code that checks code a student has written. You can write the code in any language you like provided it can be run from the command line. + +You should be aware that if students are able to access the command line, they are able to explore the box and find the folder where your test scripts are located. For scripting languages, this would allow them to modify the script. For compiled executables they could theoretically create their own executable and then replace yours with their own one. They would need to know how the callbacks work to succeed at this. + +If you want to make your scripts as secure as possible, please [click here](/courses/classes/#secure-scripts) for information on secure scripts run when an assignment is marked as complete. + +### Sample Starter Pack +There is a Starter Pack project that you can add to your account. [Click here to install](https://codio.com/home/starter-packs/cc68d38b-b0ea-4825-9814-46a3594c2b11/) and **Use Pack** to create into your Codio account to review. This project contains examples for all types of auto-graded assessments as well as a Codio authoring cheat sheet. + +### Test definition +Setting up a Code Test within the Guide editor is very simple. The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General +The screenshot below shows the basic configuration fields for the _General_ section: + +![](/img/guides/assessment_general.png) + +- **Name** is a short name that describes the test. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** is the actual text that should be shown to the user, written in Markdown. + +#### Execution +You can evaluate student code using a variety of languages and frameworks that are already supported. You can also use a custom grading script. + +Supported languages and frameworks: + +- **Ruby**: `rubocop` or `rspec` +- **Java**: [JUnit](/project/ide/features/#junit-testing-framework) or `checkstyle` +- **Python**: `pycodestyle` or `UnitTest` +- **JavaScript**: `jshint` or `jslint` + +#### Using `pycodestyle` +Before using the `pycodestyle` option, `pycodestyle` has to be installed. You may use the following commands to do so: + +```bash +sudo apt update +sudo apt install python3-pip +sudo python3 -m pip install pycodestyle +``` + +![](/img/guides/assessment_act_exec_pycodestyle.png) + +To add individual Python source files whose style should be checked, either enter their relative path to `~/namespace` or drag them from the Filetree into the **Add Case** input box, and click **Add Case**. You may add as many cases as needed. When the assessment executes, `pycodestyle` will inspect each added file and output all styling issues that it found. + +#### Using `jshint` or `jslint` +Before using them, `jshint` or `jslint` must be installed as a Node.js global package. You may use the following command to do so: + +`sudo npm install -g jshint jslint` + +To add individual JavaScript source files whose style should be checked, either enter their relative path to `~/namespace` or drag them from the Filetree into the **Add Case** input box, and click **Add Case**. You may add as many cases as needed. You may also select either JSLint or JSHint in the **Language Assessment Subtype** dropdown. When the assessment executes, your choice of either `jshint` or `jslint` will inspect each added file and output all styling issues that it found. + +### Custom +![](/img/guides/assessment_act_exec_custom.png) + +- **Command** is the command to run to invoke your test. See the section [Test code location](#test-code-location) below for more details. If you store the assessment scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. +- Enabling the **Allow Partial Points** switch will allow partial points to be given. See the section [Partial Points](#partial-points) lower down on this page. +- **Timeout** is the period of time (seconds) the test will run before terminating. + +### Grading + +![](/img/guides/assessment_grading.png) + +- **Points** is the score given to the student if the code test passes. You can choose any positive numeric value. +- **One attempt only** allows the assessment to be run only once. This generally not advised unless you make it clear to the student that a failed test cannot be repeated. You should also provide a Run button in the Guide (or provide other instructions) so the user can test the code before running the actual assessment. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### Test code location +You can place your test code anywhere you like, but if you store the assessment scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. Another suitable location could be to to create a `.guides/tests` folder. + +When specifying a command to run, you could specify it in either of these ways (the ~/workspace folder is assumed if you do not specify a full path). + +``` +node .guides/tests/mytest.js +node /home/codio/workspace/.guides/tests/mytest.js +``` +This example uses Node.js, but you can use any language you'd like. + +### Test framework +Codio provides a simple framework for communicating with the Codio authored content. When defining a test, you specify the points that should be awarded for a successful answer. + +#### Success or Failure +To let Codio know whether the script executed correctly, your code should simply exit with 0. A Bash script would return with `exit(0)`, Node.js with `process.exit(0)` etc. + +To indicate that the script was unable to execute correctly, exit with a non-zero value. + +#### Partial Points +Codio also provides a way for you to award a partial points rather than the all or nothing approach described above. + +##### Example Bash grading script for partial points + +If your test was written using a bash script, it would be done like this. + +```bash + POINTS=5 + curl -s "$CODIO_PARTIAL_POINTS_URL&points=${POINTS}" > /dev/null +``` +##### Example Python grading script for partial points +A Python script might look like this. + +```python +#!/usr/bin/env python + +import random +import sys +# import grade submit function +sys.path.append('/usr/share/codio/assessments') +from lib.grade import send_partial +def main(): + # Execute the test on the student's code + grade = random.randint(10, 50) + + # Send the grade back to Codio with the penalty factor applied + res = send_partial(int(round(grade))) + exit( 0 if res else 1) + +main() +``` + +The score you award should be any value between 0 and the maximum score you specified when defining the assessment in the Codio authoring editor. + + +#### Autograding enhancements + +To provide instructors with more robust auto-grade scripts, you can also now + +- Send back feedback in different formats HTML/Markdown/plainText + + +To support this additional feedback, this URL (passed as an environment variable) can be used: ```CODIO_PARTIAL_POINTS_V2_URL``` + +These variables allow POST and GET requests with the following parameters: + +- **Points** (```CODIO_PARTIAL_POINTS_V2_URL```): 0-100 points for assessment (should be scaled automatically for partial points). +- **Feedback** - text +- **Format** - html|md|txt - txt is default + + + + +##### Example Python grading script for partial points + +```python +#!/usr/bin/env python + +import os +import random +import requests +import json +# import grade submit function +import sys +sys.path.append('/usr/share/codio/assessments') +from lib.grade import send_partial_v2, FORMAT_V2_MD, FORMAT_V2_HTML, FORMAT_V2_TXT +def main(): + # Execute the test on the student's code + grade = random.randint(10, 50) + # Send the grade back to Codio with the penatly factor applied + + res = send_partial_v2(int(round(grade)), 'I am here', FORMAT_V2_HTML) + exit( 0 if res else 1) + +main() +``` +##### Example Bash grading script for partial points + +```bash +#!/bin/bash +set -e +POINTS=$(( ( RANDOM % 100 ) + 1 )) +curl --retry 3 -s "$CODIO_PARTIAL_POINTS_V2_URL" -d points=$POINTS -d format=txt -d feedback=test +``` + +#### Displaying information to the student +You can return text to the user that is shown once the test has concluded. Your test output is captured from `stderr` and `stdout`, so for Node.js, for example, `console.log('Well done!!')` would work. + +For success, you might simply return `'Well done!'`. For failure, aim to provide as much explanation to the student as possible regarding why they failed. + +You can return plain text, but if you want to format your response text, you can return HTML. To do so, make sure you enclose your HTML within ` ` tags. + +### Dashboard score +If **Allow Partial Points** is disabled and your test returns 0, then Codio will give a dashboard score specified in the Points field; if it returns a non-zero value, then a score of 0 is assumed. + +If **Allow Partial Points** is enabled, then Codio will give a dashboard score based on the request it received at `CODIO_PARTIAL_POINTS_URL`. If no request was received, then a score of 0 is assumed. + +### Inputs and outputs to student code +If your assessment requires that inputs are passed into the student code or data should be returned from the student code, then it is your responsibility to implement this. You should make it clear how the student should process your test's inputs and how to return data back to your test. + + +## Multiple choice +Codio support both single and multiple response versions of MCQs. + + +### Assessment definition +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General + +![](/img/guides/assessment_mc_general.png) + +- **Name** is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Question** is the question instruction that is shown to the student. + +#### Execution + +![](/img/guides/assessment_mc_exec.png) + +- The **Multiple Response** slider indicates whether the user can select more than one answer, in which case check boxes are used instead of radio buttons to specify correct answers. +- **Answers** is where you add as many individual answers as you require. To indicate the correct answer(s), toggle the sliders for multiple response or the radio button for single response. + +#### Grading + +![](/img/guides/assessment_mc_grading.png) + +- **Show Expected Answer** will show the students the correct answer when they have submitted an answer for this question. To suppress this, flip the switch. +- **Correct Points** is the score given to the student if the student makes the correct selection. You can choose any positive numeric value. +- **Incorrect Points** is the score to be deducted if the student makes an incorrect selection. Typically, this value will be 0 but you can assign any positive numeric value if you wish to penalize guessing. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### One attempt only +Codio allows users to make their selections and move on to other content pages or assessments without actually submitting their answer. However, once the answer has been submitted, it cannot be resubmitted. This gives teachers a far clearer understanding of which students are understanding the materials properly. There is little point to tests if the student simply changes the answers until the correct one appears. +## Fill in the blank +A 'fill in the blank' question comes in two flavours. By enabling/disabling **Show Possible Values** (see below) you can use either **Free Text** or **Drop Down** + + +### Free Text +The example below shows a typical question where the student has to complete the missing words. This is then auto-marked by the Guide as explained below. + +![authtoken](/img/guides/assessments-fitb1.png) + +### Drop Down +The example below shows a variation, where the student is given a list of possible answers and has to select the right answer from a drop down list of possible answers. This is then auto-graded as explained below. + +![authtoken](/img/guides/assessments-fitb2.png) + +### Assessment definition +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General + +![](/img/guides/assessment_general.png) + +- **Name** is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instruction** contains any general instructions you want to provide to the student. + +#### Execution + +![authtoken](/img/guides/assessment_fitb_exec.png) + +**Text** is the Markdown that you write including the correct answer specification. Below is an example of how the question should be specified. + +`A prime number (or a prime) is a <<>> number greater than <<<1>>> that has no positive divisors other than <<<1>>> and <<>>.` + +For a free text question (**Show Possible Values** slider to the left), Codio shows blank text fields. The student should then enter the correct text. Codio ensures that the response is case insensitive. For obvious reasons, the longer and more complex the correct answer, the easier it is for the student to make minor spelling errors that will then be scored as an incorrect answer. + + + +For a drop-down question (**Show Possible Values** slider to the right) Codio will gather all correct values (anything within the `<<< >>>` chevrons) into a drop-down list and offer the same list in each of the answer positions. + +#### [Regular Expression](https://en.wikipedia.org/wiki/Regular_expression) support + +The fill in the blanks assessment also support repexp for enhanced options +Some examples: + +- Answer allows any characters - ```<<>>``` +- Answer starts with word "begin" - ```<<>>``` +- Answer ends with word "end" - ```<<>>``` +- Answer can contain many spaces in "this is" - ``` <<>>``` +- Answer contains 1 or 2 or 3 - ```<<>>``` +- Answer allows color or colour - ```<<>>``` +- Answer allows yes or "yes" - ```<<<"yes", ""yes"">>>``` +- Answer allows hat or cat - ```<<>>``` +- Answer checks valid gmail address formatting - ```<<>>``` +- Answer checks date format (DD/MM/YYYY) - ```<<>>``` +- Answer allows i==0 or i == 0 - ```<<>>``` +- Answer requires digit - ```<<>>``` +- Answer requires non-digit - ```<<>>``` +- Answer requires word character - ```<<>>``` +- Answer requires non-word character - ```<<>>``` +- Answer required between 1 to 100 - ```<<>>``` +- Answer allows several answers (Place1 or Place2) - ```<<<"Place1", "Place2">>>``` +- Answer allows several answers with/without " " (Place1 or "Place1" or Place2 or "Place2") - ```<<>>``` +#### Grading + +![authtoken](/img/guides/assessment_fitb_grading.png) + +- **Points** is the score given to the student if the student answers all parts of the assessment correctly. You can choose any positive numeric value. A score of 0 is given if any of the responses is incorrect. +- The **Show Possible Values** switch determines whether the question is text based (the slider is gray and in the left position) or drop-down based (the slider is blue and in the right position). +- **Show Expected Answer** will show the students the correct answer when they have submitted an answer for this question. To suppress this, flip the switch. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the unit after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. +## Free text +Free text assessments allow students to answer questions in their own words. Teachers are then able to review and manually grade their answers. + +### Assessment definition +Setting up a free text assessment is very simple. The configuration fields for a free text assessment are split into four sections: General, Grading, Metadata, and Files. + +#### General + +![](/img/guides/assessment_free_general.png) + +- **Name** is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** is the actual text that should be shown to the user, written in Markdown. + +#### Grading + +![](/img/guides/assessment_free_grading.png) + +- The **Points** field is the number of points allocated for the question. You can choose any positive numeric value. Enabling the **Allow Partial Points** switch will allow the teacher when grading the answer to select the points to give for the students answer. +- **Preview Type** specified the expected input by the student. Codio offers plaintext and markdown options. LaTeX is also supported. Please refer to the **Preview type** section below for details. +- **One Attempt Only** can be used to restrict the student to answering the question once. If not enabled, students will be able to edit their answer until the assignment is marked as Completed. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +##### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### Preview type +The following preview options are available. They dictate the expected input format and whether a fully rendered preview pane appears below the student input. Markdown is useful if the student wants to enter text formatting commands. +Here is a reference for Markdown: + +- [Daring Fireball](http://daringfireball.net/projects/markdown/basics) - the author of Markdown + + +LaTeX is useful where you want students to enter mathematical formulae in their answers. [Click here](/courses/authoring/#latex-for-math-expressions) for information on LaTeX. + +- **Plaintext** - the student is expected to enter ordinary text, without support for markdown formatting. There is no preview window. +- **Plaintext + LaTeX** - this expects plaintext to be entered, therefore no support for markdown with additional support for LaTeX commands. A preview pane is shown beneath so the student is able to see the rendered LaTeX output. +- **Markdown + LaTeX** - this supports markdown input with LaTeX support. A preview pane is shown beneath so the student is able to see the rendered markdown and LaTeX output. + +### Completing a free text assessment +If **One Attempt Only** is enabled, students will only be able to submit their answer once. If this is not enabled them students will be able to revisit the question and edit their answer until they mark the assignment as completed + + +### Grading free text assessments + +To review and grade answers given by student, select assignment, then the student and a list of all the assessments in the assignment are shown. + +![Free Text Grading](/img/guides/freetext-grading.png) + +Free text assessments are identifiable from the icon + +![authtoken](/img/guides/freetexticon.png) + +Click one line and you will then see the question asked of the student and the answer they submitted. + +If the question was not set to **Allow Partial Points**, the teacher can select **Correct** or **Incorrect** + +![Partial points not allowed](/img/guides/notpartial.png) + +If the question was set to use **Allow Partial Points** the teacher can select the points to give to the answer up to the maximum **Points**. + +![Partial points allowed](/img/guides/partial.png) + +Comments can also be added and will be shown to the student when grades are released. The comment field supports [LATex](/courses/authoring/#latex-for-math-expressions) and [markdown](/courses/authoring/#markdown-content-editing) with a preview area below the text area to allow the grader review the input. The comment field will autoexpand as required + + +### Navigating students assessments + +Using the **<** and **>** buttons at the top of the assessments grading dialog you can quickly navigate either to the same assessment for other students or to other assessments for the select student + +![Navigate assessments](/img/guides/freetext_navigate.png) + +### Viewing graded free text assessments + +For any free text assessments that have been graded by a teacher in an assignment, you will see the points given and the field in the **Correct** column checked. + +![authtoken](/img/guides/freetextanswer.png) + + +## Autograde Free text +The Autograde Free text assessment is similar to the [free text](/courses/assessments/#free-text_1) assessment but includes a field for a command line to execute a script allowing autograding. + +The answer will be passed to the script as `stdin`. + +### Assessment definition + +Setting up an assessment is very simple. The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General + +![](/img/guides/assessment_general.png) + +- **Name** is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** is the actual text that should be shown to the user, written in Markdown. + +#### Execution + +![](/img/guides/assessment_autofree_exec.png) + +- **Command** is the command to execute a script to autograde. If you store the assessment scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. +- **Timeout** is the time to abort the script from executing in the event of a problem. + +#### Grading + +![](/img/guides/assessment_free_grading.png) + +- The **Points** field is the number of points allocated for the question. You can choose any positive numeric value. Enabling the **Allow Partial Points** switch will allow the teacher when grading the answer to select the points to give for the students answer. +- **Preview Type** specified the expected input by the student. Codio offers plaintext and markdown options. Latex is also supported. Please refer to the **Preview type** section below for details. +- **One Attempt Only** can be used to restrict the student to answering the question once. If not enabled, students will be able to edit their answer until the assignment is marked as Completed. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### Student Feedback + +If your autograde script is to return feedback to your students as they submit the assessment, enable [Release Grades Automatically](/courses/grading/#releasing-grades). + +### Preview type +The following preview options are available. They dictate the expected input format and whether a fully rendered preview pane appears below the student input. Markdown is useful if the student wants to enter text formatting commands. +Here is a reference for Markdown: + +- [Daring Fireball](http://daringfireball.net/projects/markdown/basics) - the author of Markdown + + +LaTeX is useful where you want students to enter mathematical formulae in their answers. [Click here](/courses/authoring/#latex-for-math-expressions) for information on LaTeX. + +- **Plaintext** - the student is expected to enter ordinary text, without support for markdown formatting. There is no preview window. +- **Plaintext + LaTeX** - this expects plaintext to be entered, therefore no support for markdown with additional support for LaTeX commands. A preview pane is shown beneath so the student is able to see the rendered LaTeX output. +- **Markdown + LaTeX** - this supports markdown input with LaTeX support. A preview pane is shown beneath so the student is able to see the rendered markdown and LaTeX output. + +### Completing an autograde free text assessment +If **One Attempt Only** is enabled, students will only be able to submit their answer once. If this is not enabled them students will be able to revisit the question and edit their answer until they mark the assignment as completed + +### Examples + +#### A simple Bash script example for partial points + +```bash +#!/usr/bin/env bash +POINTS=0 +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer1" ] +then + POINTS=1 +fi +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer5" ] +then + POINTS=5 +fi +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer10" ] +then + POINTS=10 +fi +curl "$CODIO_PARTIAL_POINTS_URL&points=${POINTS}" > /dev/null +``` + +#### A Python example for partial points + +```python +#!/usr/bin/env python +import os, requests, sys +import random +# get free text auto value +text = os.environ['CODIO_FREE_TEXT_ANSWER'] +# import grade submit function +sys.path.append('/usr/share/codio/assessments') +from lib.grade import send_partial +def main(): + # Execute the test on the student's code + grade = 0 + feedback = '' + if text == '1': + grade = 1 + feedback = '1 point' + elif text == '5': + grade = 5 + feedback = '5 points' + elif text == '10': + grade = 10 + feedback = '10 points' + else: + grade = 0 + feedback = 'no points' + + print(feedback) + # Send the grade back to Codio with the penatly factor applied + + res = send_partial(int(round(grade))) + exit( 0 if res else 1) + +main() + +``` +#### Autograding enhancements + +To provide instructors with more robust auto-grade scripts, you can also now + +- Send back feedback in different formats HTML/Markdown/plainText + + +To support this additional feedback, this URL (passed as an environment variable) can be used: ```CODIO_PARTIAL_POINTS_V2_URL``` + +These variables allow POST and GET requests with the following parameters: + +- **Points** (```CODIO_PARTIAL_POINTS_V2_URL```): 0-100 points for assessment (should be scaled automatically for partial points). +- **Feedback** - text +- **Format** - html|md|txt - txt is default + +##### Example Bash grading script for partial points + +```bash +#!/usr/bin/env bash +POINTS=0 +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer1" ] +then + POINTS=1 +fi +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer5" ] +then + POINTS=5 +fi +if [ "${CODIO_FREE_TEXT_ANSWER}" == "answer10" ] +then + POINTS=10 +fi +curl --retry 3 -s "$CODIO_PARTIAL_POINTS_V2_URL" -d points=$POINTS -d format=md -d feedback='### HTML text' +``` + + +##### Example Python grading script for partial points + +```python +#!/usr/bin/env python +import os, requests, sys +import random +# get free text auto value +text = os.environ['CODIO_FREE_TEXT_ANSWER'] +# import grade submit function +sys.path.append('/usr/share/codio/assessments') +from lib.grade import send_partial_v2, FORMAT_V2_MD, FORMAT_V2_HTML, FORMAT_V2_TXT +def main(): + # Execute the test on the student's code + grade = 0 + feedback = '' + if text == '1': + grade = 1 + feedback = '## 1 point' + elif text == '5': + grade = 5 + feedback = '## 5 points' + elif text == '10': + grade = 10 + feedback = '## 10 points' + else: + grade = 0 + feedback = '## no points' + + # Send the grade back to Codio with the penatly factor applied + + res = send_partial_v2(int(round(grade)), feedback, FORMAT_V2_MD) + exit( 0 if res else 1) + +main() +``` + +#### Example Instructions +It is recommended that clear instructions are given to students on any specific items that are expected to be included in their answer. The following is an example: + +```markdown +Create a table `users` with the fields: +- id - primary key +- name - text +- email - text +- years - integer +- name and email should be required +- years - optional, but if present - should be more or equal to 0 +``` + +#### Expected Solution + +```sql +CREATE TABLE users( + id int PRIMARY KEY, + name text NOT NULL, + email text NOT NULL, + years int CHECK(years > 0) +); +``` + + + + +## Math assessments +Codio allows you to set and grade math questions for any type and level of mathematics using the **Free Text** assessment. We only offer manual grading of mathematical expressions or proofs. + + +### Manually graded assessments using free text +To create a manually graded math question, you can use the **Free text** assessment type. This allows the students to enter expressions or even full proofs and worked answers using Latex. For more information about Latex, please [click here](/courses/authoring/#latex-for-math-expressions). + +You can enter Latex in the **Question** and **Answer rationale** fields. + +You should also set the **Preview type** drop down to either **Plaintext + Latex** or **Markdown + Latex**. Both of these ensure that the student sees a preview pane beneath their answer entry fully rendered in markdown and/or Latex. Please [click here](/courses/assessments/#free-text_1) to review the free text assessment. + +### Multiple choice +You can also use the multiple choice assessment type to create answers containing properly rendered Latex expressions. + +## Grade Book assessments +A Grade book assessment is for manually graded assessments. A student does not need to answer it, and it is available for grading immediately + +Comments and points given will be visible to the student when the assessment is graded and the grades are released and rubric items can also be set where partial points allowed. See below + +### Test definition +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General +![](/img/guides/assessment_gradebook_general.png) + +- **Name** is a short name that describes the test. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely what the assessment is. In many cases, you do not want to see this text appear to the student. To suppress this text, flip the **Show Name** switch next to the name field. + +#### Execution +![](/img/guides/assessment_gradebook_exec.png) + +- **Collapsed on start** allows the assessment field to be collapsed when the page opens. + +#### Grading +![](/img/guides/assessment_gradebook_grading.png) + +- **Points** is the score given to the student. You can choose any positive numeric value. Enabling the **Allow Partial Points** switch will allow partial points to be given. + +When **Allow Partial Points** is enabled, grading rubric items can be added to the assessment where points and messages can be defined. These will be visible to students when the assessment is graded and the grades are released and when teachers are grading, they can select the relevant rubric item. + +![](/img/guides/assessment_gradebook_rubric.png) + + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. +## Parsons Puzzle assessments +## What are Parsons Puzzles? + +Parson’s Problems are available on Codio as Parsons Puzzles. Parson’s Problems are great formative assessments that ask students to arrange blocks of scrambled code, allowing them to focus on the purpose and flow of the code (often including a new pattern or feature) while not worrying about syntax. + +Codio uses a client-side implementation of Parson's Problems named `js-parsons`, whose official documentation is available [here](http://js-parsons.github.io/documentation/). + +### Assessment definition + +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata and Files. + +#### General + +![](/img/guides/assessment_general.png) + +- **Name** is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** is the actual text that should be shown to the user. It can be written in Markdown or HTML. + +#### Execution + +![](/img/guides/assessment_parsons_exec.png) + +- **Code to become blocks** is where you create the initial state of the puzzle for the students. +- **Code to become distractor blocks** is where you can distractors for the puzzle +- **Max Distractors** is where you can set the maximum number of distractors +- **Grader** is where you select the grader appropriate to the puzzle. Refer to the "Grader Description" section below for more details. +- **Require Dragging** is where you can enable dragging +- **Disable indentation** is where you can disable indentation if not required for your puzzle +- **Indent size(px)** is where you can set the pixel size of indentations + +#### Grading + +![](/img/guides/assessment_grading.png) + +- The **Points** field is the number of points allocated for the question. You can choose any positive numeric value. +- **One Attempt Only** can be used to restrict the student to answering the question once. If not enabled, students will be able to edit their answer until the assignment is marked as Completed. +- **Answer and rationale** is where guidance for the assessment can be entered. This will be visible to the teacher when the project is opened in the course or when opening the students project. This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +#### Metadata + +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + +### Grader Description + +#### VariableCheckGrader +`VariableCheckGrader` is a grader that executes the code in the order submitted by the student and checks variable values afterwards. + +Expected and supported options: +- ```vartests``` (required): array of variable test objects +Each variable test object can/must have the following properties: +- ```initcode```: code that will be prepended before the learner solution code +- ```code```: code that will be appended after the learner solution code +- ```message``` (required): a textual description of the test, shown to learner +Properties specifying what is tested: +- ```variables```: an object with properties for each variable name to be tested; the value of the property is the expected value +or +- ```variable```: a variable name to be tested +- ```expected```: expected value of the variable after code execution + + + +#### TurtleGrader +`TurtleGrader` is a grader for exercises that draw turtle graphics in Python. + +Required options: + +- ```turtleModelCode```: The code constructing the model drawing. The turtle is initialized to modelTurtle variable, so your code should use that variable. +Options that can be specified (that is, optional): +- ```turtlePenDown```: a boolean specifying whether or not the pen should be put down initially for the student constructed code +- ```turtleModelCanvas```: ID of the canvas DOM element where the model solution will be drawn. Defaults to `modelCanvas`. +- ```turtleStudentCanvas```: ID of the canvas DOM element where student turtle will draw. Defaults to `studentCanvas`. + +Grading is based on comparing the commands executed by the model and student turtle. If the `executable_code` option is also specified, the code on each line of that option will be executed instead of the code in the student constructed lines. Note that the student code should use the variable ```myTurtle``` for commands to control the turtle in order for the grading to work. + +#### UnitTestGrader +`UnitTestGrader` is a grader that executes student code and Skulpt unit tests + +#### LanguageTranslationGrader +Code "Translating" grader + +#### LineBasedGrader +`LineBasedGrader` is a grader that treats student answers as correct if and only if they match the order and indentation found in **Initial Values**. For incorrect answers, it highlights the lines that were not ordered or indented properly. + +**For more information including video overviews, check out [Graphical Parson's Problem Creator](https://codio.github.io/parsons-puzzle-ui/)** + +#### Sample Starter Pack +There is a Starter Pack project that you can add to your account that includes examples of Parson's Puzzle assessments. + +- For Codio.com users: [Click here to install](https://codio.com/home/starter-packs/cc68d38b-b0ea-4825-9814-46a3594c2b11/) +- For Codio.co.uk users: [Click here to install](https://codio.co.uk/home/starter-packs/7c69bc1a-7f20-4cd1-a726-63a1c056790f) + +and **Use Pack** to create into your Codio account to review. +## Sense Network +[Sense.Education](https://www.sense.education/) is an AI-Based code analysis package to give students feedback on their code submissions and is supported in Codio in the Sense.Network assessment type. + + +Students can submit their work and will be able to view feedback from Sense and if **One Attempt Only** is not enabled can review their code and submit again. + +To help and track students activity through sense, [custom script](/dashboard/organisations/#custom-script) can be enabled. + +This assessment type is only visible when the sense.network api key is entered in the **Organisation>Integrations** area. See [organisation admin roles](/dashboard/organisations/#administrator-role) for more on this. + +![Organisation integrations](/img/guides/org_integrations.png) + +### Assessment definition +The configuration fields for an assessment are split into five sections: General, Execution, Grading, Metadata, and Files. + +#### General +![](/img/guides/assessment_sn_general.png) + +- **Name** (required) is a short name that describes the assessment. This name will appear in teacher dashboards, so naming it clearly is important so teachers can see precisely which challenges are successfully met (or not) by students. In many cases, you do not want to see this text appear within the challenge text the student sees. To suppress this text, flip the **Show Name** switch next to the name field. +- **Instructions** (optional) is the text that should be shown to the user, written in Markdown. + +#### Execution +![](/img/guides/assessment_sn_exec.png) + +- **Pre-exec command** (optional) is where a check can be run to confirm any code is compiling as required. If you store the scripts in the `.guides/secure` folder, they will run securely such that the student has no way of either viewing the script or viewing other files in that folder that might contain secure data. +- **Pre-exec feedback** (optional) field is used to show feedback if **Pre-exec command** fails, otherwise will show pre-exec output. +- **Sense feedback Url** (required) to extract assignment id +- **Filename** (optional) is the path to the file to pass. If empty, will send the currently opened file + +#### Grading +![](/img/guides/assessment_sn_grading.png) + +- **Gradable** enable if the assignment is to be used within the grade total for the assignment. If this is not enabled students can be given feedback on their submission for this assessment without it being graded. Please note **Answer and Rationale** will not return anything to the student if the assignment is not gradable. When enabled, each submission will override any previous submissions for grading purposes. +- **One Attempt Only** can be used to restrict the student to answering the question once. If not enabled, students will be able to edit their answer until the assignment is marked as Completed. +- The **Points** field is the number of points allocated for the question. You can choose any positive numeric value. +- **Answer and Rationale** is where guidance for the assessment can be entered where the assessment is **Gradeable**. This is not required if the assignment is not gradeable. This will be visible to the teacher when the project is opened by the teacher This guidance information can also be shown to students after they have submitted their answer and also if they reload the assignment after marking it as completed. To enable this, flip the **Show Answer and Rationale to Student** switch below the guidance field. + +#### Metadata +![](/img/guides/assessment_metadata.png) + +The Metadata section contains fields that further describe the current assessment using a variety of factors: + +- **Bloom's Level**: The options for this field correspond to the general levels of [Bloom's Taxonomy](https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/), which is a comprehensive system of classification for educational content. Your selection in this field should reflect the Bloom's level of the current assessment. +- **Learning Objectives**: What you enter in this field should reflect the specific educational goal of the current assessment. It is conventional that learning objective statements begin with "SWBAT" (Students Will Be Able To). For example, if an assessment asks the student to predict the output of a recursive code segment, then its Learning Objectives could be: _"SWBAT follow the flow of recursive execution"_. +- **Tags**: In addition to Bloom's Level and Learning Objectives, you may add arbitrary tags to an assessment. The existing tags, **Content** and **Programming Language**, are required. To add your own tags, click **Add Tag** and populate their names and values in the empty input boxes at the bottom. + +#### Files + +Sometimes, an assessment requires external files to function correctly. For example, if you wish to include an image in an assessment's instructions, your assessment would require the image to be present; if you have a custom grading script for an [Advanced Code Test](/courses/assessments/#advanced-code-tests), your assessment would require the script to be present. The Files section allows you to specify the current assessment's file dependencies such that if the assessment is ever distributed to students or other instructors, its dependencies are also included. + +![](/img/guides/assessment_files.png) + +To mark a file to be included with the assessment, simply locate it in the file tree under **Project files** and tick the checkbox next to its name. Ticked files will appear under **Additional content**. + + diff --git a/Source_graphics/courses/authoring.md b/Source_graphics/courses/authoring.md new file mode 100644 index 00000000..5b8ce656 --- /dev/null +++ b/Source_graphics/courses/authoring.md @@ -0,0 +1,993 @@ +--- +title: Content Authoring with Guides + + +--- +## Introduction +Codio Guides is a powerful authoring tool creating rich tutorial and instructional content as well as assessments. Here are a few of the key features. + +- Each page of content can [control the layout of the IDE](/courses/settings-actions/#page) +- [Open and close files, terminal windows and html page previews](/courses/settings-actions/#open-tabs) +- [Launch commands](/courses/authoring/#openclose-tabs-from-content) from the content page and pipe terminal output into the content page +- Create manually and automatically graded [questions and assessments](/courses/assessments/) +- Manage a [table of contents](/courses/authoring/) + +### Where is it? +You can launch the content authoring from + +- The menu, **Tools->Guide->Edit** +- The button at the top of the file tree as shown below + +![Start Authoring](/img/guides/startguides.png) + +## Project, course assignment or book? +Before you start to author content you should be aware of the three different places you can create content using guides. Let's look at each of the three ways to create content and why you might choose each one. + +### Projects +A [project](/project/projects/#what-is-a-project) is simply a standalone Codio box. It may or may not have guides content. Projects are to be found in the **Projects** page on the main Codio dashboard. + +![My Projects](/img/projectslist.png) + + +You would want to choose a project as the place to create your content if you have individual, ad hoc assignments or examples that do not constitute more extensive coursework or are not part of a larger series of associated projects. + + +A project can be [assigned to a course](/courses/classes/#assign-a-project-to-the-course) at any time. All the students in that course will then be able to access that project and its content. + + +There are drawbacks to using projects to assign to students. If you have related projects and the number of projects grows, it can be hard to quickly find a project you want to assign to a course. There is also no way to arrange your projects into chronological order. Courses and books offer excellent solutions to this organizational problem. + + +### Assignments +An [assignment](/courses/classes/#assign-a-project-to-the-course) is essentially the same as a project. The only difference is that your project assignments are located in the courses area in the main Codio dashboard and accessible to other teachers who can edit the item and to students in the course. Assignments are very easy to locate as they are tidily organized within the course module they belong to. You can also arrange your assignments within a course module. + + + +![Courses](/img/courseslist.png) + +You would typically use an assignment if either of the following apply. + +- You have a logically related series of projects that you want to assign to a student that form a course module. +- You have a collection of assessments relate to a course that are used for homework, lab assessments, projects etc. + +A course allows you to subdivide your course into modules and then chronologically arrange your assignments within your modules. When you create a course, you have to create at least one module. A module does nothing special other than contain assignments and are simply a nice way to group your assignments. + +There is one minor drawback to project based assignments that you should be aware of. If students are working with a project assignment and want to look at tutorial content that is contained in another assignment, they have to switch assignments. This can take several seconds and can be irritating during a revision phase when they want to frequently switch assignments. For this reason, we created the book, which we will look at next. + + +### Book assignments +A [book](/project/books/) is intended to replicate a hard-copy book. It contains a lot of content, often an entire course of content. Let's look at the case of a course called **Introduction to Java**. If this was a regular book, it might contain 500 pages. If you used project assignments to create this content, you might end up with a very large number of assignments, say 50. As we mentioned above, when students are revising and want to randomly move between different assignments to review content, the can get frustrated by the time it takes to switch assignments. + +A book addresses this issue by offering sophisticated table to contents management with nested chapters and sections. As a result, you can put all of your content into a single book, with a single box running in the background. + + +However, faculty will still often want to teach a course based on a book. To do this, you use a course but rather than creating a project assignment, you create a book based assignment. This allows you to point to any parts of a book for that assignment. + +![Books](/img/bookslist.png) + +### Book or project assignment? +It can still be a little confusing whether you should use a book based assignment or a project assignment, so here are some typical use cases. + +- **Project assignments** - use when you have a collection of assessments with no or minimal tutorial content. Best used for homework or lab type assessments. If a student is not going to regularly switch assignments in a single session. + +- **Book assignments** - use for tutorial content, examples and non-critical assessments. + + +Note that you can mix both book and project assignments in a course. +## Author and student views +The experience when authoring differs from that of a student. Students are not able to view the authoring tools. When they start a assignment or project, if there is content present, it will automatically be shown. The author can also specify whether the student is able to close the content or not. + +If you are an author, you will often want to view the content as a student will see it. + +### Editing +Only an author is able to edit the content. Students and users with read-only rights will not be able to. [Click here](/courses/authoring/#page-editing-overview) for details on page editing. + +### Preview +You can press the preview button in the top right area of the edit pane. This will switch to preview mode. You can then switch back to editor mode by pressing the **Editor** button. + +You can also start the preview mode from the **Tools->Guide->Play**. + +Finally, there is also a button at the top of the file tree that launches the content. + + +![StartGuides](/img/guides/startguides.png) + + +### Customizing IDE menu +To simplify the educational process for students, the top menu can be customized to remove options from students that they cannot override. + +**Please note that only students will see this. Teachers previewing the assignment will not see the customization. If you wish to check this, the [test student](/courses/classes/#test-students) accounts can be used** + +Through a `.codio-menu` file, a teacher can specify what menu items should be hidden. +Example: + +```json +{ + "Logo": false, // hides the Codio logo + "Codio": false, // hides the Codio menu dropdown + "Project": { + "Permissions": false // hides the Permissions option in the Project menu dropdown + }, + "Help": false, // hides the Help menu dropdown + "Run": false, // hides the Run menu dropdown + "Preview": false, // hides the Preview menu dropdown + "Debugger": false, // hides the Debugger menu dropdown + "Status": false // hides the Status icon, user Avatar, user name and exit button +} +``` + +**Be aware that if setting Status=false, students will need to use the 'Back to Dashboard' button shown on the last page of the guides to return to their dashboard area** + +Setting up .codio-menu file: + +![EditorMode](/img/guides/codiomenu.png) + +Menu items that the student will see: + +![PreviewMode](/img/guides/codiomenupreview.png) + +Students will not see the .codio-menu file to be able to edit/change it. + + +### Player Options +![authtoken](/img/guides/playmode.png) + +When the content is rendered to a student, various options can be controlled + +- The **Collapse table of contents** button allows the user to collapse the content pane to provide larger working area if required. This option will not show if the page layout is One Pane +- **Navigation Buttons** allows the user to navigate forward/backward in the guide. +- **Settings** allows the user to view the assignment as a teacher (e.g. show solution information hidden to students) change the Theme (light/dyslexic), Mark as Complete, change the font size, reset both the theme and fonts, to restore the current files (see below) and to access Code Comments. See [Dyslexia Support](/students/#dyslexia-support) section +- **Show/Hide Section List** Hamburger Icon allows the user to show/hide the section list. +- **Grading** button is visible for teachers to allow access to grading area. Students do not see this + +#### Restore current files +The Restore Current Files feature is a great way to reset/restore any files on that page to its initial state after hacking sample code around. Files can be restored from the menu as shown below. + +![authtoken](/img/guides/reset.png) + + +## Table of contents management +Once you are in the Codio IDE, you are able to create and manage content. There are two ways to access the Codio Guide. + +- Press then right arrow at the top of the file tree. + +![startauthoring](/img/guides/startguides.png) + +- From the menu, select **Tools->Guide->Edit**. + +### Editing page content and actions +Please refer to the following pages for details in how to edit page content and control page actions. + +- [Page Editing](/courses/authoring/#page-editing-overview) for details on how to edit a pages content using markdown or HTML, hiding folders and other actions. +- [Settings and page actions](/courses/settings-actions/#page) : Opening and closing files, panel configuration and other settings + +### Editing content +The image below highlights the main components of the editing page. + +![Edit Book](/img/guides/editbook.png) + +### Accessing the table of contents +To open and close the table of contents, press the **Hamburger Icon** at the top right. From here you can add and organize content. + + +### Chapters, sections and pages +A guide is comprised of pages organized into chapters and sections. A chapter is a top level item only. Sections can be placed at any location and nested to any depth. + +You can add a new chapter, section or page by + +- right clicking on the appropriate location within the table of contents. +- by first selecting the item in the table of contents below which the new element should be added and then pressing one of the buttons at the top of the table of contents. + +### Adding content to a chapter or section +By default, chapters and sections are passive and do not have page content assigned to them. However, you can add content by right-clicking the item and then selecting **Add content** from the menu. + +If you want to reverse the procedure, you right click and select **Remove content**. + +### Multiple selection +You can multi-select pages as follows + +- Select an item then `shift+click` on a latter item to select all pages between the two items. This only works for items at the same level. +- Use `ctrl+click` (PC/Linux) or `cmd+click` (Mac) to multi select individual pages. + + +### Drag and Drop +It is very important to understand how drag and drop works within a table of contents as it is very powerful but can be confusing if you don’t understand that drop process. Drag and drop works with individual or multiple selected pages. + +What is unusual about our drag and drop support is that the destination folder location is determined by where you drop. + +- If you drop in the top portion of the target item, the selection will be dropped above it at the same level. +- If you drop in middle portion of the target item, the selection will be dropped within it if the target is a section. +- If you drop in the lower portion of the target item, the selection will be dropped below the target at the same level. + +## Page editing overview +To create new content or to edit existing content, go to the **Tools->Guide->Edit** menu option. + +Use the layout modes to switch between editor, preview, and split view modes. + +When in preview mode, you can quickly switch back to editor mode by selecting the **Editor** button: + +![Guides Edit Mode](/img/guides/editor.png) + +**Video: Editing Existing Guides Content** + +

+ + +### Anatomy of the content editor +Below is a screenshot of the editor with the main components highlighted. +![overview](/img/guides/editbook.png) + +### Editor settings +Editor settings gives you access to the key functions: + +#### Page + - **[Layout](/courses/settings-actions/#page)** allows you to specify the panel layout you want to choose for this section, + - **[Show Folders](/courses/authoring/#hiding-folders)** allows you to define specific folders in your project that you wish to be visible when the current section is displayed, + - **[Close Tabs](/courses/authoring/#openclose-tabs-from-content)** allows you to close all tabs open from previous section, + - **Set Section as Chapter** allows you to set the section as a chapter in your content, + - **[Teacher Only](/courses/authoring/#teacher-only-content)** allows you to show content that only teachers are able to see. + - **Content Type** allows you to write your content in either [Markdown](/courses/authoring/#markdown-content-editing) or [HTML](/courses/authoring/#html-content-editing) + +#### [Open Tabs](/courses/settings-actions/#open-tabs) +This allows you to specify: + + - which files you want to automatically open when the current section is displayed, + - Preview (including external websites), + - Open a Terminal window (including running a terminal command), + - which lines (if any) you wish to highlight within each file. + + +#### [Assessments](/courses/assessments/#assessments) +This allows you to set up assessments. + +#### [Media](/courses/authoring/#adding-media) +This allows you to play audio files within your project. + + +#### [Global](/courses/settings-actions/#global) +![Global Settings](/img/guides/globalsettings.png) + +- **Scripts** allows you to point to one or more `.js` files in your project (usually you would have this somewhere within the `.guides` folder) that is run when the page is shown. This is especially useful when interacting with a button in a page of content. +- **Theme** allows you to select the default theme for people viewing the content. We currently have a light theme and will be adding a dark theme shortly. Dyslexic users can also choose a special theme from the Settings drop down in the content player. +- **[Lexicon Topic](/resources/Resource-Tools/lexikon/)** if you use this option, an icon will appear in the toolbar that will load the Lexikon window with the selected topic automatically selected. Students can still access the Lexicon from the **Tools>Lexicon** menu (unless of course you are restricting the top menu available to them) +- **Suppress page numbering** allows you to suppress the section page numbers when in Play Mode. +- **Hide Menu** allows you to hide the main Codio menu items in the IDE (Codio/Project/File/Edit etc) when the assignment is run in a [course](/courses/classes/#assign-a-project-to-the-course). +- **Allow guide to be closed** allows students to be able to close the content. It can be restarted by selecting the Start icon in the file tree: + +![StartGuides](/img/guides/startguides.png) + +- **Use submit buttons** see [Student submission options](/courses/assessments/#student-submission-options) for more information +- **Use mark as completed** see [Student submission options](/courses/assessments/#student-submission-options) for more information +- **Collapsed on start** starts the assignment with the guides pane collapsed. Students can show the content clicking on the hamburger icon on the right +![OpenGuides](/img/guides/guidecollapse.png) +- **Hide Section List** hides the sections list in your content for the students. +- **Hide Back to Dashboard button** hides this button that would otherwise show on the last page of the guides. +- **Protect Layout** prevents students from closing files in tabs. + +## Authoring guidelines +Here are some guidelines for creating good quality content. + + +### Markdown +The best way to author content is using markdown. It is extremely easy to write content that renders very nicely and without having to fiddle with HTML. You can embed HTML snippets into a markdown as well where you need full control. + +We have a Cheat Sheet project that you can use to see the full capabilities. To copy this starter pack into your own account, please [click here](https://codio.com/home/starter-packs/cb114a27-d88e-4b74-a2a0-518ccb30dc44/). You should select the **Use Pack** option to create the project. + +### Courses and Books +We strongly recommend that when you are creating content at scale then you have a thorough understanding of [the differences between projects, course assignments and books](/courses/authoring/#project-course-assignment-or-book) before starting. + +### Media assets +When creating a book or a guide, you will often be working with images, video and other media. We recommend the following. + +- Images should be placed in the `.guides/img` folder. You can create sub-folders for organizational purposes. +- Videos should be hosted on a 3rd party platform such as YouTube or Vimeo. You can embed these using regular HTML embed tags as available from those platforms. +- Web based media such as Google Doc documents can be embedded using regular HTML embed tags as available from those platforms. + +### Callout blocks +Our markdown supports the use of special callout blocks. These provide icons and highlighted backgrounds for various concepts such as : Important, Info, Challenge, Topic, Definition, Meetups, Headline, Hackathon, Create, Calendar, Growth Hack, Debugging, Cross Discipline and more. + +Please refer to the **Callout** section of the Books Cheat Sheet. If you have not done so already, copy [this starter pack](https://codio.com/home/starter-packs/cb114a27-d88e-4b74-a2a0-518ccb30dc44/) into your own account. You should select the **Use Pack** option to create the project. + +### Don't make pages too long +Again, this depends on your intended audience but try to keep each page reasonably brief. If the topic is a long one, you may want to break it up into several pages. This prevents lots of scrolling and allows students to digest information in manageable chunks. + +### Hidden folders +Your content will often want to show code samples. Codio's recommended approach is to put each set of code samples into a dedicated folder. Then, using the page settings, you can specify this folder with the consequence that all non-specified folders are hidden from view in the file tree (if you choose to show it). + +The benefit of hiding folders is that the student is not distracted by folders and files that are not relevant to the topic you are explaining. + +[Click here](/courses/authoring/#hiding-folders) for more details on folder hiding. + +### Assessments +Codio offers a range of [manually and auto-graded assessments](/courses/assessments/#assessments). When used as a part of content, assessments are a very important way of giving students challenges and exercises that help internalize what they have been learning. + +When used in a course situation, assessments are extremely helpful to the teacher as all assessment results are fed automatically through to the teacher course dashboard, allowing them to monitor students' progress across a Course. + +Many of Codio's assessment types (code tests, multiple choice questions, text, fill in the blank and list-based) are auto-graded, saving teachers considerable amounts of time and can also offer students instant feedback on the correct answers. + +You can also use the [free-text](/courses/assessments/#free-text_1) assessment type for answers that require a typed answer that can be manually graded by faculty. The free text type also support Latex, so math questions can be answered and graded. + +Assessments you create can be saved in your own library for use in other assignments. See [here](/courses/assessments-library/#adding-questions-to-an-assessments-library) for more information on this. We also have an extensive library of assessments that you are free to use as you wish. See [here](/courses/assessments-library/#codios-global-assessments-library) for more details + +### Layouts +The editor lets you create different panel layouts for your guide content and the layout can change from section to section. + +[Click here](/courses/settings-actions/#page) for more information on panel layouts. + +## Markdown content editing +### Cheat Sheet +Please refer to the **Callout** section of the Cheat Sheet. If you have not done so already, copy [this starter pack](https://codio.com/home/starter-packs/cb114a27-d88e-4b74-a2a0-518ccb30dc44/) into your own account. You should select the **Use Pack** option to create the project. + +Content can be written in + +- **Markdown** - the recommended option and described on this page +- **HTML** allowing more detailed control but requiring more time; described on the next page. + +When you are in edit mode, you can select a section by + +- using the navigation buttons in the header area +- selecting a section from the section list + +![editnav](/img/guides/editnav.png) + + +### Renaming the Section +You can rename your section by clicking on the section title in the header area. + +### Writing content +You can then start writing your content in the main content area. + +### Markdown +For those of you not familiar with Markdown, it is an extremely easy way of writing content without having to worry about HTML. + +When in Play Mode or as you preview, your content is rendered as students will see it. You can also override the default CSS styling if you wish. Go to **Tools->Guide->Add Custom CSS** + +![Guide CSS](/img/guides/guidecss.png) + +'Reset Custom CSS' will restore the default CSS styling + +Click here for details on how to insert [images, videos and hyperlinks](/courses/authoring/#adding-media). + +Here is a summary of the Markdown formatting codes + +### Headers/Titles +To display a header or title, you can use the `#` character at the start of the line. The more `#` characters you add, the smaller the font. + +```markdown +# Big title +## Smaller title +# Even smaller title +## etc. +``` + +### Bold and Italic +To create bold or italic text, you use `**` and `*` either side of the respective words. + +```markdown +I want to say that **this is really important**, you know +I *really* like chocolate +``` + +### Bullet Lists +To create a list of bullet points, you start the line with a `-` + +```markdown +- Bullet 1 +- Bullet 2 +- Bullet 3 +- etc +``` + +### Numbered Lists +To create a numbered list, you start the line with a `1.` The numbers are automatically calculated for you. + +```markdown +1. Item 1 +1. Item 2 +1. Item 3 +1. etc +``` + +### Code Blocks +If you want to show some code, styled with the courier font, in a box and with syntax highlighting applied you surround your code block with three backticks `` ``` ``. For example, the following javascript snippet + +```js +var i; +for(i = 0; i < 10; i++) { + document.write(i); +} +``` + +is written as + +`` ```js`` +var i; +for(i = 0; i < 10; i++) { + document.write(i); +} +`` ``` `` + +Note that you can specify a language type after the top 3 back ticks. Entering `python ` after the backticks would apply syntax highlighting for python. Many languages are supported. [See a full list of supported languages here](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml). You should search for your language and then use the `alias` shown. + +### Code Segments +If you want to insert a piece of code inline with the rest of your text, then you use a single \` (backtick) character either side of the text. For example, + +We can define a variable `var x;` if we like + +... is written in markdown as + +We can define a variable \`var x;\` if we like + + +### Indented Lists +If you want to indent a list, then indent just 2 spaces and it will indent. + +```markdown + - Bullet 1 + - Bullet 2 + - Bullet 3 + - etc +``` + +### Callout Blocks +If you want to show a callout block a number of options are available and others can be easily added if required + + - important + - info + - warning + - topic + - definition + - challenge + - guidance + - meetup + - hackathon + - create + - calendar + - growthhack + - xdiscipline + - debugging + +e.g. + +``` +|||info +# My Title + +Some text + +||| +``` + +![calloutinfo](/img/guides/callout_info.png) + +The **Guidance** callout block is only visible in play mode to designated teachers within a course. It is not visible for students. + + +### Hyperlinks, Images, Videos & iframes +We describe these in [this section](/courses/authoring/#adding-media). + +### HTML +You can include HTML tags + +### Latex / MathJax + +Latex is supported using [MathJax](http://www.mathjax.org/). For example + +```markdown +When $a \ne 0$ there are two solutions to $(ax^2 + bx + c = 0)$ and they are $x = {-b \pm \sqrt{b^2-4ac} \over 2a}$ + +and for multiple lines we do the following + +$$ +y=x^2 +y=\frac{x^2}{x+1} +$$ +``` + +[Click here](/courses/authoring/#latex-for-math-expressions) for more details on Latex and Mathjax. + +![MathJax](/img/guides/mathjax.png) + +Inline math equations are encapsulated in a single `$` like this: $\omega = d\phi / dt$. + +### Collapsible Content +In writing content, it is sometimes useful to provide information for the student, but to keep this hidden until they are ready. + +This can be achieved with collapsible content and the `
` elements. The content is treated as HTML and as such a mix of HTML and Markdown can be required. +#### Notes +- All code block starter lines, e.g. ` ```js ` must be preceded by a blank line. +- The closing block ` ``` ` tag must be followed by a newline. + +**Example** + +![CollapsibleContent](/img/guides/collapsible.png) + +To achieve this result, the code is comprised below (in 3 code blocks to ensure all presents correctly) + +```markdown +## Example Collapsible Content + +
+ There are some Special Numeric Values which are part of the number data type. For each of the variables a band c print out their data types and values. +
+ +The result of any mathematical operation will produce a value of type `number`. + +1. Variable `a` contains a value of `infinity` which represents mathematical infinity. +2. Variable `b` is assigned a value where the left-hand operator looks like a `string` however JavaScript tries to convert it into a number which is successful. +3. In the case of variable `c`, the string can't be converted and the operation returns the value of `NaN` which means _not a number_. If this is then used in susequent operations the value cascades and the result will also be `NaN`. +``` +``` +
Code Block
+ +```js ` +const name = { + first: 'John', + 'last name': 'Doe', + dob: { + year: 1970, + month: 'January' + } +} +``` +``` +
+``` + +### Cheat Sheet + +Check out our [Cheat Sheet](https://codio.com/home/starter-packs/cb114a27-d88e-4b74-a2a0-518ccb30dc44/) and **Use Pack** to create the Cheet Sheet project in your Codio account. +## Previewing content +### Preview mode +You will regularly want to switch from editing your page content to preview it as users will see it. The best way to do this is to press the preview button in the top right of the content window. When the guide renders, it would open at the current page you were editing. + +![authtoken](/img/guides/preview-button.png) + +To return to the edit mode, press the **Editor** button and you will be returned to edit mode on the page that you were viewing in Play mode. + +![authtoken](/img/guides/editor-button.png) + + +### Split screen +Another approach that works for the current page is to switch layout mode to split view mode by selecting the 2nd from left button in the header bar. + +![authtoken](/img/guides/split-button.png) + +### Play +You can start the Guide player from the **Tools->Guide->Play** menu or selecting the '>' icon in the file tree +## HTML content editing +We do not recommend this setting unless you have very specific reasons. It is much harder to use and maintain than markdown but for those who want ultimate control over appearance it is a good option. + +### Setting HTML +You can specify that an individual page be authored using HTML from the content **Settings**. You will find the **Content type** dropdown where you can switch between HTML and markdown. + +### CSS header and footer +In order to style your content properly, you should use the **Edit HTML header** and **Edit HTML footer** settings. These can be found in the main **Settings** area on the **Global** tab. + +The header and footer information wrap the HTML content for your page. Below is a typical example of a header. + +```html + + + + bjlo2e_ch04-1 + + + + + + +``` + +And here is the footer. + +```html + + +``` + +### Support functions +In a page authored using Markdown, you are able to create buttons and other actions. We provide some javascript functions that support the same functionality. + +**Important** : if you use any of the functions listed below then you must load `https://codio.com/codio-client.js`in the HTML Header as shown in the example above. + + +- `codio.run(command, callback)` - Run a command on the box. `callback` will fire once executed and should be used to communicate back to the user. +- `codio.runAndShow(command, outputElementId)` - Run a command on the box. All `stdout` will be displayed in `outputElementId`. +- `codio.open('file', path, panel_num)` - Opens a file located in `path` in the `panel_num` panel, where `0` is the first panel from top left +- `codio.open('terminal', command, panel_num)`- Opens a terminal window and executes `command`. `panel_num` specifies the location of the panel, where `0` is the first panel from top left. +- `codio.open('preview', url, panel_num)` - Opens a preview window at `url`. `panel_num` specifies the location of the panel, where `0` is the first panel from top left. +- `codio.goToNextSection()` - Moves to the next page in the guide. +- `codio.goToPreviousSection()` - Moves to the previous page in the guide. +- `codio.switchUnit(unitId)` - Changes to a different assignment. The assignment ID is found by opening the assignment and getting the ID from the URL. +- `codio.goToSectionTitled('Section Title')` - Switches to the page whose title is "Section Title'. +- `codio.assessments.check(assessmentId)` - Executes the assessment +- `codio.assessments.reset(assessmentId)` - Resets any response and score that the user may have already provided for `assessmentId`. +- `codio.assessments.get(assessmentId, callback)` - Gets the result data for a completed assessment +- `codio.assessments.send(assessmentId, answer, points, callback)` - Sends result data for a custom assessment. `answer` contains the custom result data for `assessment` and will be stored in Codio. You can use `codio.assessments.get()` to reconstruct the output for an already answered question. +- `codio.resetCurrentFiles()` - Allows students to restore current files in guides within your content. + +## Teacher only content + +Teacher only content can be viewed by teachers when: + +- opening a assignment within a course module in a course +- [viewing student code](/courses/grading/#accessing-student-work) within a course + + + +Warning + +- If your project is public and a user accesses this project via the public listing of your account then they will have access to the solutions. + +You can make content available only to course teachers in the following ways. + +### Entire page +If you want a page and its appearance in the table of contents to be only visible to a teacher, then you should enable the **Teacher Only** slider in the [page settings](/courses/settings-actions/#teacher-only-content). + +### Selected content within page +If you want to hide a certain piece of information *within a page* from students then you should include all such content within a page within `|||guidance ..... |||`. An example is shown below. + +``` +|||guidance +# Solution +This solution will only be shown + +- to teachers +- provided the content is published within a assignment +- if you share a project normally or it is public and a student loads it, they have access to this content. + +||| +``` + +Teacher only content can also be shown to teachers within an assessment question. This allows an question's answer rationale to be shown. Please refer to the [assessments section](/courses/assessments/#assessments) for more details. + +## Custom Buttons +Custom buttons are a powerful feature that let you insert a button into your guide content that when pressed can carry out any custom action. + +There are a number of ways to use a custom button + +### To jump to a page in the content +This will jump to a specific page in the guide + +```javascript +{Button Text | go-to-section-titled}(section title) +``` + +e.g. +```javascript +{Go to Section: LTI | go-to-section-titled}(LTI) +``` + +### To launch a process +This will launch a process and execute a terminal command. + +```javascript +{Button Text}(command paramater1 parameter2 parameterN) +``` + +### Launching a process in a terminal window +There are cases where you will want to launch a command in a dedicated terminal window. A typical example is when student code requires input from the user. Codio cannot handle standard input through the guides window, so use the following button command. + +```bash +{Button Text | terminal}(command) +``` +### Launching a debugger configuration +You can launch a debugger configuration as shown below. It is important to specify the configuration name exactly. + +```bash +{Button text | debugger}(debugger configuration name) +``` + +### To restore current files in guides +Students can restore current files to the default setting from the [setting](/students/#guides) menu but you can also offer them a button within your guides content as well. + +```bash +{Button text | reset}(optional commands to run) +``` + +### Writing a custom event handler +This offers you the most flexibility and allows you to write your own custom button press handler. A common use case is executing tests on user code. + +To do this, you should use the following format for your custom button. + +```bash +{Button Text|custom}(myId) +``` +If you wish to use a custom event handler to allow students to restore current files and handle other functions, you can do so but you will need to include this code in your custom script + +```bash +window.addEventListener('codio-button-custom', function (ev) { + if(codio) { + codio.resetCurrentFiles() + } +}); +``` + +#### Loading Scripts +You should point your content page to a script file to load javascript scripts. You can do this from **Settings>Global>Scripts**. + + +![authtoken](/img/guides/scripts.png) + + + +#### Event Listener +The event listener is able to execute your custom task. It will display a custom message area beneath it into which you can write your own results data. The message data can be a custom message that a test might return and can be plain text or HTML. + +For the event listener to run you should include in **Settings>Global>Scripts**: + +- https://codio.com/codio-client.js (where your account is running on codio.com) +- https://codio.co.uk/codio-client.js (where your account is running on codio.co.uk) + + +The icon that appears in the top left of the message area can be controlled from your event listener, as shown in the example below. + +```javascript +window.addEventListener('codio-button-custom', function (ev) { + console.log('id:', ev.id, 'cmd:', ev.cmd, ev); + if (codio) { + codio.setButtonValue(ev.id, codio.BUTTON_STATE.PROGRESS, 'Checking'); + codio.setButtonValue(ev.id, codio.BUTTON_STATE.FAILURE, 'Bad Job :('); + codio.setButtonValue(ev.id, codio.BUTTON_STATE.INVALID, 'Internal error'); + window.setTimeout(function () { + codio.setButtonValue(ev.id, codio.BUTTON_STATE.SUCCESS, 'Extremely well done!'); + },1000); + + } +}); +console.log('test.js script loaded'); +``` + +- `ev.id` is the contents internal id for the button. +- `ev.cmd` is the `myId` text you specified in the button with `{Button Text|custom}(myId)`. This is typically used to indicate the id of the test you wish to run or just the specific button that is being pressed. + +The available button commands are + +```javascript +codio.setButtonValue(ev.id, codio.BUTTON_STATE.PROGRESS, 'Checking..'); +codio.setButtonValue(ev.id, codio.BUTTON_STATE.SUCCESS, 'Good job!'); +codio.setButtonValue(ev.id, codio.BUTTON_STATE.FAILURE, 'Bad Job :('); +codio.setButtonValue(ev.id, codio.BUTTON_STATE.INVALID, 'Internal error'); +``` + +The 3rd parameter can contain any text to display in the button's attached message area. It can be plain text or HTML. + + + + + +## Adding media +You can insert Audio, Images and Videos into a page. + +### Audio +You can insert and play audio files within your project. + +On the page you wish to play Audio, go to the **Settings** area where you can define the source audio file along with any actions the should be triggered at specific times during playback. + +![authtoken](/img/guides/media.png) + +- **Source Name** - select the source file either from `.guides/media` folder if already uploaded to the project or upload directly from your PC where it will then be stored in the `.guides/media` folder. +- **Add Action** - specifies actions that are triggered at specific times during playback. The following options are available. + + Open file + Close file + Open Terminal + Close Terminal + Run command + Highlight + Close all tabs + Pause + + +### Images +Inserting an image is similar. Here are some examples. PNG and JPG image types are supported. Note that the 2nd and 3rd examples point to images within your project. + +Generally speaking, you should put your images in the `.guides/img` folder in order to keep the rest of your workspace free of extraneous content for the benefit of the student. + +```markdown +![optional alt tag](http://any-url-you-like.png) +![](image-in-project-root.jpg) +![](.guides/img/best-place-for-images.png) +``` + + +You can also drag/drop images from your project file tree into your content. They will be automatically tagged with the correct path. + +For Markdown pages: + +```markdown +![.guides/img/displayimage](.guides/img/displayimage.png) +``` + +For HTML pages: + +```html +![.guides/img/displayimage](.guides/img/displayimage.png) +``` + + +### Videos + +Including embedded videos are also possible using the standard ` +``` + +#### Vimeo + + If you wish to embed a Vimeo video, go to the Share option and select **Embed** to obtain the code snippet. + +![authtoken](/img/guides/guides_vimeo.png) + +``` +

Codio - Innovation in Computer Programming Education from Codio on Vimeo.

+``` + +### Hyperlinks +Creating a hyperlink on a piece of text is easy. + +```markdown +Go to [Google](google.com) to look stuff up. +``` + + + +### iframes + +You can embed content in an iframe using the ` + + +### Authentication and account creation +Once you have configured the LTI/LMS settings, Moodle manages all aspects of signing in to Codio as well as account creation. All your teachers and students need is a Moodle account. + +If a Moodle user has never used Codio before then an account will automatically be created when they access their first Codio course materials. + +If a Moodle user already has a Codio account then **provided the email address of their Codio account matches the email address of their LMS account** the same Codio account will be used. If, however, the user has used a different email address within Codio, then a new Codio account will be created that matches that of the Moodle account. diff --git a/Source_graphics/courses/lti1_3.md b/Source_graphics/courses/lti1_3.md new file mode 100644 index 00000000..e43cfcfa --- /dev/null +++ b/Source_graphics/courses/lti1_3.md @@ -0,0 +1,96 @@ +--- +title: Integrating with LTI 1.3 systems + + +--- + +LTI version 1.3 improves upon version [LTI-1.1] by moving away from the use of OAuth 1.0a-style signing for authentication and towards a new security model, using OpenID Connect, signed JWTs, and OAuth2.0 workflows for authentication. +As we have implemented the majority of these improvements already in Codio, it can be better to work with Codio, LT1 1.1 integration especially considering the ease to set up using the [Codio LTI app](/courses/lti1_0/#codio-lti-app). + +For more information, see [Learning Tools Interoperability Core Specification](https://www.imsglobal.org/spec/lti/v1p3/) + +## Canvas + + +There are a number of ways to integrate Codio with Canvas with LTI 1.3. Check out the following videos to see the option that best suits you. + +### How to configure lti1.3 tool in Canvas manually - part 1 + + + + +### How to configure lti1.3 tool in Canvas manually -part 2 + + + + +### Tool configuration data for canvas lms in canvas.cod.io: +These paramaters cannot be found in canvas.cod.io (found by search only) + +- **platformid**: https://canvas.instructure.com +- **PUBLIC KEYSET URL**: https://canvas.cod.io/api/lti/security/jwks +- **ACCESS TOKEN URL**: https://canvas.cod.io/login/oauth2/token +- **AUTHENTICATION REQUEST URL**: https://canvas.cod.io/api/lti/authorize_redirect + +clientId and deploymentId can be found in tool settings in canvas.cod.io after configuration is completed + +### How to configure lti1.3 tool in Canvas by paste json object + + + +### How to configure lti1.3 tool in Canvas by paste json url + + + +### Connecting/mapping assignments + +There are also a number of ways you can connect/map assignments. Check out the following videos to see the option that best suits you. + +### How to connect assignment and unit by lti integration url of assignment + + + +### How to connect assignment and assignment by resource selection preview + + + +### How to connect assignment and assignment by endpoint url + + + +### How to connect assignment and assignment with custom param + + + + +If you require any assistance, please don't hesitate to [contact us](/dashboard/support/) +## Moodle + + +### How to configure lti1.3 tool in Moodle manually + + + +### Connecting/mapping assignments + +There are a number of ways you can connect/map assignments. Check out the following videos to see the option that best suits you. + +### How to connect assignment and assignment by lti integration url of assignment + + + +### How to connect assignment and assignment by resource selection preview + + + +### How to connect assignment and assignment by endpoint url + + + +### How to connect assignment and assignment with custom param + + + + +If you require any assistance, please don't hesitate to [contact us](/dashboard/support/) + diff --git a/Source_graphics/courses/plagiarism.md b/Source_graphics/courses/plagiarism.md new file mode 100644 index 00000000..9163e6f1 --- /dev/null +++ b/Source_graphics/courses/plagiarism.md @@ -0,0 +1,124 @@ +--- +title: Plagiarism Checker + + + +--- + +Plagiarism detection allows you to check for code copying and potential cases of cheating between members of a course. With the current version, Codio will compare the code projects of all students within a course for a specific teaching assignment. + +If you want to include other reference code to include in the cross comparison, then you will need to create a dummy student account, add that dummy student to the course and upload the reference code as that student for that assignment. The Codio [Test Student](/courses/classes/#test-students) accounts could be used for this purpose + +Plagiarism detection is best used with programming project assignments rather than Codio authored projects. It will work in both cases but it is really designed to test general coding projects rather than lots of auto-graded assessments within a assignment. + +Codio does not determine whether cheating has or has not taken place and leaves the decision making up to you. + + +To run the Plagiarism checker you need to first select the assignment within the course and then press press the actions button next to the assignment name. + +![authtoken](/img/guides/plag-button.png) + +## Courses +In order to use this feature you need to set up a course. If you are not using Codio as your main IDE and want to use only the plagiarism detection feature then you should still follow these instructions and ask your students to upload their code into the project using Git or by uploading files manually. + +## Access Plagiarism features + +When in your course, select your assignment and then click the **Actions** button (button to the top right of the screen) to show the available actions that includes Plagiarism + +![authtoken](/img/guides/plag-button.png) + +## Run +You can see the **Plagiarism** button near in the upper part of the screen. When you press this you are taken to the following screen. + +![authtoken](/img/guides/plag-summary.png) + +This screen will show you any plagiarism reports that were run in the past. You can open these if you wish. + +On the left you can: + +- enter a relative path in the workspace to check. +- upload items to compare against (e.g. previous years information). +- restrict the file types that should be checked. It is possible to add multiple file types by pressing the **Add Extension** button. + + +These filters can be useful to avoid generating unnecessary noise in your report. + +Once you are ready to run a new report, press the **Start** button, which will package up all the files and pass them to the detection engine. You are free to leave the screen at this point and return to it later to see whether the report has been generated. + +Codio will include all code from all students in the report, irrespective of whether the assignment is marked by the student as completed. + +## The report +Once the report has been generated it can be opened by clicking the **Open** button. A typical report is shown below. The interpretation of the report is explained below. + +![authtoken](/img/guides/plag-main-report.png) + +## Drilling down +You can drill down in various ways. The two most common and useful ways are + +### Edits +Shows the differences between the two or more students with similarities. Things that have been added by one student are shown in green, things removed in red and those that are identical are not shaded at all. + +![authtoken](/img/guides/plag-edits.png) + +### Side-by-side +This shows the code of those students with similarities in their code in a side-by-side viewer. + +![authtoken](/img/guides/plag-sidebyside.png) + +## Downloading raw data +Should you wish to analyse the report data in other software tools, Codio allows you to download a CSV file of the report output. You will find a button **Download CSV** located at the top right of the main report screen. + +## Main report results + +The main report output is a ranking of the submissions. Several metrics are used, and then an overall rank is produced for each entry. The top line for each entry shows its overall rank as well as the score on each metric. Next to the score is the ranking within that metric. + +![authtoken](/img/guides/plag-main-report.png) + +The metrics are + +- **Points** - every incidence of matching text generates some number of points, and the points metric shows the cumulative score for these entries. +- **Regions** - counts how many distinct regions (of some maximum size) had matches. +- **Coverage** - on average, what fraction of the overall text consisted of matching regions. +- **Tokens** - how many words (in absolute numbers) were found in the matching regions. +- **Placings** - a weighted average of the other ranks, which is similar to the overall rank, but can sometimes reveal differences. + +The other items for each entry are: + +- **File names** - links are provided to the individual files in a match. Next to each file is shown its individual coverage and the number of suspicious tokens out of its total token count. +- **Edits** - highlights the changes between the two files. This is mostly useful when large portions of the files are similar. +- **Side-by-side** - the matching files (limit 3) are shown side by side, to make comparison easier + +## Individual Files + +The plagiarism detection works by trying to identify "rare matches," sequences of words that are similar only in a small number of files. In general, the more rare matches two files have in common, the more suspiciously they are viewed. + +To convey information about the rare matches, the reports use size, color, and hover text. When you view a file, either individually or side-by-side, you will see that some portions of it are colored, and that the font size changes. Anything colored is a rare match - words that matched between these two (or more) files, but were otherwise rare in the rest. So, to a first-order approximation, the more colored text, the more suspicious similarities. + +Clicking on a colored region in a side-by-side view should bring up the matching region for the other file. In the case that multiple matches exist, the first match may be shown. In rare cases, the corresponding match may be hidden by other matches, so alignment may not occur. The match still exists and is real, but because of presentation decisions, may have become hidden. + +Size is based on how many files had the rare text. The fewer files that had the rare text, the larger the font size. The largest font is used when only two files have a piece of matching text. If you hover the mouse over a word, you'll get a pop-up showing the type of match and how many files were involved. + +The red region typically tries to indicate the "anchor" text, the shortest sequence that was rare in a particular match. So, if two students had the same misspelling in an otherwise common sentence, the misspelled words would show up as red, indicating they were the core of the match. However, the entire sentence around them would also be unique because of the misspellings, so the rest of the sentence would be blue. If there are multiple, overlapping anchor regions, additional words may appear in purple next to the red region. Hovering over a word will show an actual match in which the word was involved. Words can be involved in many matches. + +There are actually many types of matches. If you hover over any text, you'll also see a parenthetical comment that indicates the type of match. + +- **Text/case/space match** - the text in the region matched, including the case of the text and the spacing. The only differences may be in punctuation that is considered unimportant. +- **Text/case match** - like the text/case/space match, but without match on the spacing. +- **Text match** - the text matches (again, modulo punctuation), but the spacing and case may differ. +- **No-comment match** - once the comments have been removed, the text matches (again, modulo punctuation), but the spacing and case may differ. +- **Text reordered** - the same set of words appears in the files, but there's some change in the order of the words +- **No-comment reordered** - once the comments have been removed, the same set of words appears in the files, but there's some change in the order of the words +- **Structure/space match** - the same structure appears in the files, with matching spacing, but the variables/functions may have different names. +- **Structural match** - the same structure appears in the files, but the variables/functions may have different names. +- **Structure reordered** - the same structure appears in the files, in a different order, and the variables/functions may have different names. + +Codio also highlights trailing whitespace at the ends of lines. When two files match in trailing whitespace, it is often the case that they were copied electronically since trailing whitespace is not normally visible when reading text from a screen or in printouts. + +## Interpreting Matches + +Not all rare matches indicate plagiarism, and it is important to use good judgment to determine whether a result identified by Codio is actually suspicious. In general, it is a good idea to use the side-by-side examination and start at the top-ranked files, working downward until you encounter a series of files that you determine are not actually suspicious. + +When examining files, it is often good to find the corresponding places in two files and see if the differences appear to be coincidental or if it looks like the differences are more than chance. For example, sometimes, two students may have a large block of text highlighted, and this may stem from copying a project description from a course page but making similar grammatical changes. In other cases, students may have very few rare matches scattered in their code, but the matches may come from things like similar words in comments, which are much less constrained than code. In all cases, it is imperative that human judgment is used to determine whether a match from Codio represents plagiarism or not. + +Note that Codio will not necessarily find all plagiarized text. In particular, it focuses on only rare matches, so if two students have copied code that is very constrained and very similar to other solutions, it will not be detected. However, if there are very few ways to write a solution to the problem, any plagiarism detection will be difficult. In such cases, plagiarized code may show only a few rare matches, which is why human judgment is so important in interpreting the results. + diff --git a/Source_graphics/courses/settings-actions.md b/Source_graphics/courses/settings-actions.md new file mode 100644 index 00000000..b8cb4b74 --- /dev/null +++ b/Source_graphics/courses/settings-actions.md @@ -0,0 +1,252 @@ +--- +title: Guides Settings and Page actions + + +--- + +## Page +### Layout +You can choose from a variety of panel layouts for each page of content. + +![authtoken](/img/guides/layouts.png) + +The layouts we currently offer can be found in the dropdown list. + +[Click here](/courses/settings-actions/#specifying-the-panel-number) for information on how to reference these panels when auto opening code files, url previews or terminal windows. + +The top-most and default entry in the Layout dropdown is **Previous**. This means it will use the same panel layout as specified on the previous page. + + + +### Show/Hide Folders +Your content will often want to show code samples. Codio's recommended approach is to put each set of code samples into a dedicated folder. Then, using the page settings, you can specify that folder. All non-specified folders are hidden from view in the file tree. + +The benefit of hiding folders is that the student is not distracted by a large list of folders and files that are not relevant to the topic your are explaining. + +### Full File Tree: +![authtoken](/img/guides/project_1.png) + +### Hiding of Folders: +![authtoken](/img/guides/project_2.png) + +### Defining folders +To define which folders to show make sure your page is selected. Next, in the **Show Folders** field, specify the folder or folders which should be shown in the file tree. Use the `;` character to separate multiple folders. + +![authtoken](/img/guides/project_3.png) + +If you have several pages that show the same folders, you only need define the folders on the first page of the set of pages. All subsequent pages will use the same **Show Folders** setting until a new one is encountered. + +### Content Type +You can specify whether the page content type is markdown (strongly recommended) or HTML. If you choose HTML, then you will need to set the page HTML header and footer in [Global Settings](/courses/settings-actions/#global). + + +### Teacher only content +If this switch is enabled then the page contents will not be show to students. Teachers will be able to see it when they open an assignment in a course or when opening a students assignment. + +### Learning Objectives +This is a tag field that can be useful for data analysis. + + +## Open tabs +You can automatically perform any of the following actions when a page is shown: + +- Reconfigure the overall IDE panel layout. +- Open files. +- Open a url preview including external websites. +- Open a terminal window and optionally run a terminal command. +- Select lines you wish to highlight within each file. + +You should also be aware that you can achieve the same actions from Markdown directives on a page. [Click here](/courses/authoring/#openclose-tabs-from-content) for details. + +### Page - Close Tabs +Enable this to close all panels open from the previous page. + +![Page_tab_options](/img/guides/page.png) + + +### Open Tabs + +![Open Tabs tab options](/img/guides/guide_files.png) + +Files can be opened automatically to present the student with relevant files. + +The **Add Tab** button allows you to create multiple lines into your configuration to address most scenarios you are likely to encounter. + +You can also drag and drop files in from your project file tree to the page to add them to the **Open Tabs** section so that file will be opened in a tab for the reader as well as Drag and Drop on the Open Tabs area in the content. + +**Please note:** image files dragged in to a page will be automatically tagged to display within the content rather than in a new panel. If you wish to have an image file open in a panel, then you would need to add it directly in the Open Tabs area. You can also drag/drop from the file tree. The correct path to the file will be included. + +### Opening Files +To open files, select the file type and enter the file name, including the path to the file if not in the root of the project workspace. + +![openfile](/img/guides/type_file.png) + +To open multiple files in the same panel, enter in the following format: + +``` +index.html, main.css +``` + +### Previewing +To preview your project, select the **Preview** Type. If you wish to show a workspace or external website page, use the **Preview** option and enter the appropriate URL. + +![preview](/img/guides/type_preview.png) + +**Please note:** If the URL you are previewing does not allow embedding in an `- + +## Cookie Requirements +In order for Codio to work correctly you need to allow cookies. Check our [Privacy Policy](https://www.codio.com/legal-stuff) for more information about cookies. + +The following information explains how to enable cookies for all sites. You can also enable them only for certain sites, which is not explained below. + +### To enable cookies in Chrome: + +In your browser enter: `chrome://settings/content/cookies` +and + +- enable **Allow sites to save and read cookie data (recommended)** +- disable **Block third party cookies** +![Chrome Cookies](/img/chromecookies.png) + +*Image from Chrome Version 59.0.3071.86 (Official Build) (64-bit)* + +### To enable cookies in Firefox: +In your browser enter: `about:preferences#privacy` +Select **User custom settings for history** from the drop down in the History section and + +- check **Accept cookies from sites** +- select 'Always' in the drop down for **Accept third-party cookies** +![Firefox Cookies](/img/firefoxcookies.png) + +*Image from Firefox 55.0.2 (64-bit)* + +### To enable cookies in Safari: +In your browser go to `Safari> Preferences` +![Safari](/img/safari.png) +Select the **Privacy** tab and ensure check **Block all cookies** and **Prevent cross-site tracking** are not checked. + +![Safari Cookies](/img/crosssitetracking.png) + +If using an earlier version of Safari, check **Always Allow** in the Cookies and website data section + +*Image from Safari 12.0 on macOS Sierra 10.12.6* + + +## Firewall and network settings +Codio can usually run from anywhere in your browser without any special settings. However, some school or university firewall settings may require special configuration. + +This page contains information for + +- School network system administrators +- Students and teachers who may be using Codio from home + +### Firewall settings +The following is a list of ports and URLs that Codio access from time to time. We have put these in priority order. + +- __*.codio.com__ the main Codio site and application +- __*.codio.io__ domains that are auto-generated for each user project +- __api.keen.io__ statistics gathering to measure student time spent in units (stats) +- __*.typekit.net__ web fonts +- __fonts.gstatic.com__ web fonts +- __fast.fonts.net__ web fonts +- __*.cloudfront.net__ our CDN for speeding up static content +- __*.youtube.com & *.vimeo.com__ for video's included in Course content +- __gravatar.com__ used for user gravatars (pictures) + +- __*.intercom.io__, __cdnjs.cloudflare.com__ and __*.pubnub.com__ are highly recommended as they relate to the help and support application (Intercom) built into Codio. + +If your institution blocks access to YouTube as a general rule, your IT department can whitelist YouTube access that only allows access to content from registered and accredited educational content repositories. See [here](https://support.google.com/youtube/answer/2695317?hl=en-GB) for more information on this. + + +### Ports +We recommend opening the following ports + +- **80 and 443** for standard communications +- **3000** is a standard port for user projects +- **9500** is a standard SSL port for user projects + +### Working from home +Sometimes the anti-virus/firewall settings on your personal devices may interfere with home usage and make the experience slow. + +You should check your settings and ensure that items in the above **Firewall settings** list are added to your exclusion list. + +### Connectivity Test +If you continue to experience difficulties, visit the [Connection Diagnostics](https://codio.com/connectivity/index.html) page and send us back the generated output going to **Help > Support/Contact Us** and attach the output file using the paperclip icon) +![authtoken](/img/contactus.png) + + +## Browser support +Codio is best experienced on the very latest browsers, in particular Chrome, but should run fine on the following browsers: + +- **Chrome** 21 or later +- **Firefox** - 22 or later +- **IE** - 10 or later +- **Safari** - 6 or later +- **Opera** - 15 or later + +If using **Safari** and accessing Codio via an [LMS](/courses/lti1_0/), disable "Prevent cross-site tracking" to ensure access. + +![Safari settings](/img/crosssitetracking.png) + +If you are experiencing any issue where Codio will not run as it should, please send an email to help@codio.com. + + +### Disable IE Compatibility View + +It could happen that even if you have Internet Explorer 10 or a later version, we detect a older version of the browser. + +This is due to the *Compatibility Mode* of the Browser which enables old features we no longer support. + +To disable this option, please go to ***Tools → F12 developer tools*** and be sure that in **Browser Mode** is selected **«Internet Explorer 10»** and in **Document Mode** is selected **«Standards (Page default)»**. +## Resetting student passwords +You can change a student's password in the following way: + +1. From the **Courses** area, click on your course to open it. + +![authtoken](/img/manage_classes/year_10_class.png) + +1. Click on the **Students** tab, top centre of your screen. + +![authtoken](/img/manage_classes/students_tab.png) + +1. You will see all students in your course displayed on this screen. Find the student whose password needs to be changed and click on the blue triple dot icon to the right of their name. Choose **Change students password** and follow the steps to reset. +## Forgot your password +If you have forgotten your password, you should use the **lost password** link on the log-in page to reset your password automatically via email. + +**For School and University students only:** If you do not have access to the email address you used in creating your Codio account and you are a student, please contact your teacher. He or she will be able to reset your password for you. + +If you wish to change your password (you should also do this if you forgot your password and it was reset) follow these steps: + +1. Click on your name and gravatar (bottom left of screen) + +![authtoken](/img/what_students_do/forgotpassword/profilepic.png) + +1. From the options along the top of the page, choose **Account** +![authtoken](/img/what_students_do/forgotpassword/account.png) + +1. About halfway down the **Account** page is the **Change Password** area. The student should enter their new password, and then click **Update password**. +![authtoken](/img/what_students_do/forgotpassword/change.png) + +## Public key +Codio automatically generates a public key for your account. This key can then be used whenever Codio attempts communication with an external server that requires public/private key based authentication such as SSH or SFTP access. + +![public key dialog](/img/prefs-account-ssh.png) + + +### Where is it used? +Codio makes use of the public key in the following places + +- [SFTP deployment target](/project/ide/tools/deployment/#sftp-target-type) +- [RSYNC deployment target](/project/ide/tools/deployment/#rsync-target-type) +- [SSH Terminal](/project/ide/tools/ssh/) +- [Git](/project/ide/editing/#git-mercurial-svn) + +In both cases, you will need to install the public key onto the remote system. In the case of SFTP, you should know how to do this already. + +### Adding your public key to a remote server +If you want to get your Codio public key onto a remote server, just press the Upload Public Key button. You enter your user credentials on the remote and Codio will get it installed in the `~/.ssh/authorized_keys` file. + +![authtoken](/img/prefs-account-ssh-dialog.png) + +### Adding your public key to GitHub or BitBucket +If you are working with GitHub or BitBucket, then you need to install the public key. Codio makes this very easy for you. Goto **Codio>Account** and select GitHub or BitBucket tab and select 'Upload your public key to GitHub/BitBucket' + +![SSH Public](/img/prefs-account-gh1.png) + +You will be redirected to your GitHub/BitBucket account and asked to authorise the application + +On accepting this you will then be redirected back to your Codio account. + +## GitHub +The GitHub tab lets you associate your account with your GitHub account and where you can upload your public key. See [SSH Key](/dashboard/account/#public-key) + + +![SSH Public](/img/prefs-account-gh1.png) + +You can sign in with GitHub as well. +## BitBucket +The BitBucket tab lets you associate your account with your BitBucket account and where you can upload your public key. See [SSH Key](/dashboard/account/#public-key) + +You can sign in with BitBucket as well. + + +## Change account details +You can change the following settings + +- **Account name** - changing this will not affect the URL associated with your account name. This name is for display and communication purposes only. +- **Email address** + +![Profile Settings](/img/prefs-ac-profile.png) + +## Delete your account +You can delete your account at any time from the **Codio > Account** menu item and going to the **Account** tab + +![authtoken](/img/delete.png) + +Please be warned that when you do finally close the account, it cannot be retrieved, nor can its contents, so please make sure you export any projects you want to keep or push the to a remote Git repo. + +## Organisation Billing +![Organizations Billing](/img/organisations_billing.png) + +For Schools and University organisations, the billing screen allows you to generate invoices for your account (for new accounts and renewal of existing accounts), and for active subscriptions, view the details of the current plan as well as enter the email of the person who should receive billing notifications. + +To access the organsisation billing screen: + +1. Click on your profile picture (bottom left of **Courses**) + +![Profile](/img/class_administration/profilepic.png) +1. Click the name of your school (under **My Organizations**) + +![Org Name](/img/class_administration/addteachers/myschoolorg.png) +1. You will see billing options listed across the top of the page. +![Org Billing](/img/class_administration/orgbilling.png) + +Select the country you are in and 'Save'. Then enter the number of student licenses required (**minimum 25**). The plans available will be shown , select the plan you require and if you require the invoice to be sent to someone else, you can change the recipient. + +If you have a promotion code, enter it in the appropriate field. Validation is case insensitive. + +- If the promotion code is invalid, the message `Invalid promotion code` will be shown +- If the promotion code has expired, the message `This promotion code has expired` will be shown +- Promotion codes are only available for new users and not available for self pay plans. + +When you are ready, click the 'Generate Invoice' button and the invoice will be generated and sent to the email address. + +The option to switch to/from a Self Pay plan is also available but be aware if you have an annual plan and have already paid this might lead to a conflict. + + +![Organizations Billing](/img/organisations_invoicing.png) + + +**Important** : This is accessed from the Organization screens and having clicked on your Organization. Please do not use the normal Billing area for individuals that you can access by clicking on your name/gravatar (bottom left of screen) and selecting the **Billing** tab unless you wish to subscribe as an **Individual** or already are subscribed as an **Individual** + +## Individual Billing +The user billing screen can be found on the Billing tab of your Account Settings. You can find both your subscription details and billing history here. + +![Account Billing](/img/account_billing.png) + +To access your individual billing area, follow these steps: + +1. Click on your name and gravatar (bottom left of screen) +![authtoken](/img/what_students_do/forgotpassword/profilepic.png) + +1. From the options along the top of the page, choose **Billing** + + +### Bookstores +Some institutions may provide Codio licenses via the bookstore. Your course instructor or course syllabus will specify if this is available at your particular school. + +A single license can be used for a specified timeframe - 1 semester (5 months), 2 semesters (10 months) or a year. Specific licenses options may depend on your local bookstore. + + +Purchasing a license + +To purchase a license, you can request the following from your bookstore + + 1 Semester - Codio 1-Semester Subscription - ISBN: 978-1-7331872-5-1 + 2 Semesters - Codio 2 Semester Subscription ISBN 978-1-73331872-8-2 + Annual - Codio Annual Subscription ISBN # 978-1-7331872-1-3 + + +Your bookstore will provide you with a sheet that contains a code that can be used to activate your subscription for the specified timeframe. + +NOTE: A single subscription can be used for multiple courses using Codio during the specified timeframe. + + +### Activating a bookstore license + +To log in to Codio, please follow your instructor's directions. This may be through your local LMS (Canvas, Blackboard, Desire2Learn, Moodle, etc) or through Codio.com using a course token. + +The first time you log in, there will be a small banner at the top requesting you go to “Billing”. Please click on it or navigate to it by clicking on your username in the bottom left and selecting the “Billing” tab and after selecting the "Plan" drop down field go to the **Redeem Code** option and click the **Upgrade** button where you can then enter the code provided to you. Please note the code is case sensitive so enter it exactly as given. +If you have any problems [contact us](/dashboard/support/) through your Codio account or email us at [help@codio.com](mailto:help@codio.com) + +### Educational Discounts +We offer substantial **Whole School** license discounts for Schools, Colleges and Universities as well as a full 30 day trial of all the Education Features + +## Contact us + +### Customer Technical Support + +We have an extensive documentation section where you can find out how to [add students](/courses/classes/#add-students-to-a-course), [add teachers](/dashboard/organisations/#add-teachers) and much more. + +To access the documentation + +- Click **Help** in the top menu bar on our website. + +If you are logged into Codio, you can access the documentation section in 2 ways: + +- if on the Dashboard, by selecting the **Help** button from the left-hand menu. +- or if you have a project/unit open, from the top menu bar using Help>Documentation + +To contact us: + +**Video: Access In-Product Support** + +

+ +- There is a contact button on the bottom right hand corner of our website. + +If you are logged into Codio: + +- if on the Dashboard, you can use the **Support** button from the left-hand menu (just below the **Help** button) +- or if you have a project/unit open, from the top menu bar using **Help>Support/Contact Us**. + +If it is out of our office hours, we will get back to you as soon as possible. + + +### Sales Inquiries + +If you are interested in purchasing Codio, please see our [pricing](https://www.codio.com/pricing). If you have any questions about how Codio could be right for you, we offer [demos and webinars](https://www.codio.com/demo) for you and your colleagues. Or alternatively, please email us at help@codio.com, and we will get in touch as soon as possible. diff --git a/Source_graphics/dashboard/desktopapp.md b/Source_graphics/dashboard/desktopapp.md new file mode 100644 index 00000000..86db2bea --- /dev/null +++ b/Source_graphics/dashboard/desktopapp.md @@ -0,0 +1,93 @@ +--- +title: Desktop App + + +--- +A brief overview of the Codio desktop app. + + + +The desktop app is to allow a local code workspace to synchronize with a Codio box. + +Assignments/Projects from the [Courses dashboard](/students/#courses) and [My Projects](/students/#creating-projects) area can be connected. + +A Codio account is required + + + +## Excluding files +Files/folders can be excluded from synchronisation by using `.codioignore` file in the source project. +Enter on a new line the file/folders to be excluded defining them relative to the location of the `.codioignore` file and defining folders with `/` + +For example if the `.codioignore` file is located in the project workspace and you wish to exclude + +- `bin` & `node_modules` folder +- the file `error.jade` in the `views` folder +- the files `app.js` and `README.md` + +the `.codioignore` file will be + +``` +/bin +/node_modules +/views/error.jade +app.js +README.md +``` +![codioignore](/img/codioignore.png) + +Please note that the `.codioignore` file is included in the desktop app files. + +If students wish to exclude files when pushing back to their Codio account they can do so, either by editing any existing `.codioignore` file or creating the file themselves. If the teacher creates the `.codioignore` file, adding a 'comment' line to the top of the file to make it clear to any students what they should not change could help avoid potential problems. +A line starting with `#` serves as a comment + +**[Click here](https://www.codio.com/download)** to go to the download page and install to your local machine + +## Starting the app +When first starting the app you need to choose the server to connect to. In most cases this will be **https://codio.com** but if you are in the assignmented Kingdom/Europe, it maybe **https://codio.co.uk**. + +![desktop server](/img/desktop_server.png) + +You can check by logging into your Codio account in your browser and you will see the server domain noted there + +Having selected the server log in using your codio credentials. + +**Note:** that if you usually access Codio through an [LMS](/courses/lti1_0/), you may not have a Codio account password set. If that is the case, go to the online login screen where you can go through the [lost password](/dashboard/account/#forgot-your-password) process to define a codio account password. We would then recommend you log into your account online and change this password to one you will remember in the future. Setting a Codio account password will not effect or change how you currently access Codio via your LMS + + +## Accessing and connecting to your online content +![desktop options](/img/desktop_options.png) + +When logged in you can access your content either from **Courses** or **My Projects** area + +Select either: + +- **connect** - to pull all the code from the selected assignment to a folder on your PC that you define. +![desktop workspace](/img/desktop_workspace.png). + +- **Open in Codio** - to open the assignment in your Codio account + +When connecting, browse to a folder on your PC where you would like to store the code and pull the content + +## Managing your offline content +When you have connected you can then push/pull/open the assignment in Codio and manage the local workspace folder settings. + +![desktop connected](/img/desktop_connected.png) + +**1.** Click the **pull** button to pull content in from your Codio account. **Note** Any files you already have stored locally will be overwritten + +**2.** Click the **push** button to push the content from your local workspace folder back to your Codio account. **Note** This will overwrite the project/assignment in your Codio account + +**3.** Click the **Open in Codio** button to open your assignment in a browser tab. This can be useful if you wish to compare what you have stored locally to what you last pulled from your Codio account + +**4.** Click the **folder** icon to manage your local workspace folder settings + +## Local workspace folder settings + +![desktop workspace settings](/img/desktop_worspacesettings.png) + +**1.** Click the **Open the folder** button to open the folder containing your local files + +**2.** Click the **Change folder** button to change the folder storing your local files. **Note** the content of the previous folder will not be automatically copied or transferred to the newly selected folder. If you wish to do this, you should return to the previous screen and **pull** to that new folder + +**3.** Click the **Disconnect** button to disconnect the assignment from your Codio account. You will be returned to the previous screen where you can then [connect](/dashboard/desktopapp/#accessing-and-connecting-to-your-online-content) the assignment again if you wish \ No newline at end of file diff --git a/Source_graphics/dashboard/dir.ordered b/Source_graphics/dashboard/dir.ordered new file mode 100644 index 00000000..aadc85df --- /dev/null +++ b/Source_graphics/dashboard/dir.ordered @@ -0,0 +1,7 @@ +obg-overview +support +navigation +create +account +student +desktopapp \ No newline at end of file diff --git a/Source_graphics/dashboard/navigation.md b/Source_graphics/dashboard/navigation.md new file mode 100644 index 00000000..04009742 --- /dev/null +++ b/Source_graphics/dashboard/navigation.md @@ -0,0 +1,20 @@ + + +The Codio dashboard is the main screen you arrive at after logging into Codio. From here you access all the main components of Codio. + +The appearance of the dashboard depends on whether you are a teacher/instructor or a student. The information below relates to teacher/instructors. [Click here](/students/) for information on the student dashboard. + + +## Dashboard options +Here are the main options from the dashboard. + +![dashboard](/img/dashboard.png) + +- **Courses**: this is where you administer courses and assign projects and courses to students. [About courses](/courses/classes/). And also where you can create your own content that are nicely organized for repeated teaching of content from semester to semester (or term to term, year to year). Course Assignments can be single Codio projects or a mapping to a part of a Codio book. [About courses](/courses/coursemanagement/). +- **My Projects**: a project is a cloud based server with the Codio IDE attached. It is a great place to experiment. You can create as many as you like and configure your server (box) from the command line exactly as you would with any other server. [About projects](/project/projects/#what-is-a-project). +- **My Books**: books lets you build a complete book, with chapters, sections and pages that can be nested to any depth to form a table of contents and associated content that mirrors a normal book structure. Parts of a book can then be mapped to course units for course assignments. [About books](/project/books/) +- **Stacks**: Stacks are templated snapshots of a project's software configuration and are a very important and powerful feature of Codio. If you are assigning content to courses of students, it is very important you have a full understanding of stacks. [About stacks](/project/stacks/#what-is-a-stack). +- **Starter Packs**: a Starter Pack is a templated snapshot of a project's code workspace. Additionally a stack is specified. The result is an instantly startable snapshot of a fully configured environment. [About starter packs](/project/packs/). +- **Documentation**: a link to the general document. +- **Support**: this is our integrated support environment. If you need assistance from us, click here to leave us a detailed message and we will get back to you quickly. + diff --git a/Source_graphics/dashboard/organisations.md b/Source_graphics/dashboard/organisations.md new file mode 100644 index 00000000..d5c33bd9 --- /dev/null +++ b/Source_graphics/dashboard/organisations.md @@ -0,0 +1,475 @@ +--- +title: Organizations + + +--- + +An organization is always required for institutional teaching. The organization area contains settings for managing accounts, LMS integration and many other organization related settings. + +## Organization overview +Interesting organization settings. + +- + +## Administrator role +As the creator of your educational organization in Codio, you have administrator rights. This means that you can add and remove [teachers](/courses/classes/#adding-teachers-to-a-course) from your organization, edit your organization information, manage your students [dashboard settings](/dashboard/organisations/#student-dashboard-settings), create [grading templates](/courses/classes/#grading-rubric-templates) and [delete](/dashboard/organisations/#delete-organization) your organization. + +To access the administration tools: + +1. Click on your profile picture (bottom left of **Courses**) + +![Profile](/img/class_administration/profilepic.png) +1. Click the name of your school (under **My Organizations**) + +![Org Name](/img/class_administration/addteachers/myschoolorg.png) +1. You will see admin options listed across the top of the page. +![Members](/img/manage_organization/memberstab.png) + +## Add teachers +Once you have set up your organization, the next step is to invite teachers to use Codio too. There are 2 ways you can do this: + +### Invite Teacher to the Organization + +1. Click your name/gravatar, bottom of the left hand pane + + ![Profile](/img/class_administration/profilepic.png) + +1. Click the name of your organization (under **My Organizations**) + + ![Org Name](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Members** tab + + ![Members](/img/manage_organization/memberstab.png) + +1. In the **Invite Teacher to the Organization** area, enter in their email address. If you also wish them to have full [access](/dashboard/organisations/#administrator-role) rights to the organization, check the **Add this teacher to owners group**. + + ![Invite Teacher](/img/manage_organization/inviteteacher.png) + + +When the teacher has joined, they can be set to **Read-Only** so that they cannot make changes to content in courses. In the course, they will not be able to switch into **Edit** mode. This can be done at the organisation level (see [Organisation level read only teachers](/dashboard/organisations/#organisation-read-only-teachers)) or at the course level (see [Course level read only teacher](/courses/classes/#adding-teachers-to-a-course)) + +1. An email will be sent to your colleague containing a link to sign up and on completion they will be added into your Organization automatically. +**N.B.** They must use the email address the invitation was sent to or they will not be added to the Organization. + +1. Any invitations not completed will show in the area below and where you can also **Resend** or **Revoke** if you require. Once the invitee has joined the organization they will no longer show in this area but show in the **All Members** list below (and also **Owners** list if 'Add this teacher to owners group' was checked) + + ![Pending](/img/manage_organization/pendinginvite.png) + +### Invitation Token + +1. Click your name/gravatar, bottom of the left hand pane + + ![Profile](/img/class_administration/profilepic.png) + +1. Click the name of your organization (under **My Organizations**) + + ![Org name](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Organization Settings** tab + + ![Org settings](/img/manage_organization/orgsettingstab.png) + +1. About half way down you will see an **Invitation** area, displaying an **Invite URL** and an **Invite token**. + + ![Add Teachers](/img/class_administration/addteachers/invitation.png) + +1. Give any teachers who are not already Codio users the invite URL. + +1. When they enter the URL in their browser, they will automatically be taken through the sign-up process and as they select that they are a Teacher, will then be added to your Organization. + +1. Alternatively, teachers can register themselves for a Codio account by following the sign-up process at www.codio.com. Once they have done this (selecting that they are a **Teacher**, they will be asked for an **Invite token** to join your educational organization. This is provided in step 4 above - give them the token (not the URL). + +1. If you already have courses set up you can add and invite teachers directly into your course(s). See [Adding teachers to a ccourse](/courses/classes/#adding-teachers-to-a-course) + +You can then if you wish add them as an [organization owner](/dashboard/organisations/#add-organization-owners) so they can then manage and create courses themselves and have full admin access to the organization + + +## Add organization owners +You are the **Owner** of your organization if you created it. You can add other owners (these will usually be other teachers who you wish to give admin rights to). +There are 2 ways you can do this: + +### Add a new user to your Organization Owners group + +1. Click your name/gravatar, bottom of the left hand pane + +![Profile](/img/class_administration/profilepic.png) + +1. Click the name of your organization (under **My Organizations**) + +![Org Name](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Members** tab + +![Members](/img/manage_organization/memberstab.png) + +1. In the **Invite Teacher to the Organization** area, enter in their Email address and check the 'Add this teacher to owners group'. +![Invite Owner](/img/manage_organization/inviteowner.png) + +1. An email will be sent to your colleague containing a link to sign up and on completion they will be added into your Organization automatically and to the **Owners** group. +**N.B.** They must use the email address the invitation was sent to or they will not be added to the Organization. + +1. Any invitations not completed will show in the area below and where you can also 'Resend' or 'Revoke' if you require. Once the invitee has joined the organization they will no longer show in this area but show in the **All Members** list below and also **Owners** list. +![Pending](/img/manage_organization/pendinginviteowner.png) + +### Add an existing Codio user to your Organization Owners group + +1. Click your name/gravatar, bottom of the left hand pane + +![Profile](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![Org Name](/img/manage_organization/myschoolorg.png) + +1. Click the **Members** tab + +![Members](/img/manage_organization/memberstab.png) + +1. Click **Owners** + +![Owners](/img/manage_organization/owners.png) + +You should see yourself listed as an owner. To add another teacher, choose the **Add User** drop down and as you type their Codio Username, the listing will filter down so you can then select them. +## Add students +You do not add students to an organization directly. They are added by inviting them to join a course. Please [click here](/courses/classes/#add-students-to-a-course) for more information. + +Codio also creates test students so instructors are able to see how students interact with a course. This is described [here](/courses/classes/#test-students). + +If you are using an LMS for a course then the LMS platform will handle the addition of students to the Codio course automatically. +## Student consent form +The student consent form is a feature for Codio organizations. It allows you to show an IP consent form, whose content you create yourself, to Codio users. + +To configure the consent form information, click on your user name from the dashboard. Next, select your organization. You will then see the **IP Consent** tab at the top of the screen. + +If you enable this feature, all students will be shown the form when they first create an account. If a student has already created an account then the next time they sign in, they will be shown the form. They will not be able to access Codio until they do consent. + +![authtoken](/img/studentconsent.png) + +### Creating content + +![authtoken](/img/consent.png) + +You should first create the content that you wish to display to the student. You enter your text in the lower portion of the screen. You can use markdown to format your text. If you are not familiar with markdown, here is a reference for markdown: + +- [Daring Fireball](http://daringfireball.net/projects/markdown/basics) - the author of markdown + +You can press the **Save Draft** button to save your changes and continue editing later. + +You can also **Preview** your changes to see how the rendered output appears. + +### Publishing and revisions +You need to publish your changes so that they appear to the student. You can create new versions over time. Earlier versions of the form can be recalled by selecting the version from the drop down list. + +Once you are happy with your text, you press the **Publish new version** button. + +### Exporting student consent data +If you would like to download a log of all students who have consented, press the **Download CSV** link in the upper section. + +The CSV file contains the following data + +- User name +- Codio user ID +- Email address +- Revision of the consent form they consented to +- Date and time of the consent. +## View organization members +Sometimes you might need to check who is registered as a member of your educational organization. To view all members of your school organization follow these steps: + +1. Click your name/gravatar, bottom of the left hand pane + +![authtoken](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Members** tab + +![authtoken](/img/manage_organization/memberstab.png) + +1. Click **All Members** + +![authtoken](/img/manage_organization/members.png) + +You will be able to see all the members of your school organization. + + + +The **Test Students** group contains the demo student accounts created for you when the Organization was created. See [Test Students](/courses/classes/#test-students) for more information. + +The **Users without course** group contains all users that are not members of a course. See [Delete Course](/courses/classes/#deleting-a-course) for more information. This may be as a result of a course being deleted or it may be that a new user has joined your organization but is not yet either a Teacher or a Student in a course. +Select this group and you can then remove these users from your organization if required. +![OrphanedUsers](/img/manage_organization/orphanedusers.png) + +Please note that removing users from your Organization does not delete their Codio account. Only the account owner can [delete their account](/dashboard/account/#delete-your-account). + +### Organisation read only teachers + +Click on the **Teachers** group where you can see all teachers in the organisation and where you can set them to **Read Only**. These teachers will only have access in courses to **Teaching Mode** and will not be able to add/edit/change any content in the course + +![Organisation Read Onlyn](/img/manage_organization/orgreadonly.png) + +## Student dashboard settings +Organization owners can manage the student dashboard view by setting their default page to 'My Projects' as an alternative to **Courses** as well as optionally hiding **Courses** menu item. + +To do this, access the administration tools: + +1. Click on your profile picture (bottom left of **Courses**) + +![authtoken](/img/class_administration/profilepic.png) +1. Click the name of your institution (under **My Organizations**) + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) +1. You will see admin options listed across the top of the page. + +![authtoken](/img/manage_organization/memberstab.png) +1. Select **Dashboard Settings** +1. Make the required changes and **Update** to save the changes + +![authtoken](/img/manage_organization/dash.png) + +**N.B.** Your students may need to reload Codio in their browser when they next log in for the changes to be visible to them + + +## Custom script +To integrate third-party systems to help/track students, custom scripts can be enabled. + +Enabling this will allow third-party systems (such as [sense.network](/courses/assessments/#sense-network) to help/track students. + +In all cases, the `userid`,`email` and the user type (Student/Teacher) will be passed. + +If required by the third-party system used, custom js code can be included in the **Custom Script** section. + +Any such code should be entered without script tags. + +e.g. + +```javascript +var http = new XMLHttpRequest(); +var url = 'https://userdomain/url'; //Change to valid URL for your third-party system +var params = 'userId=' + codio.userId ; +http.open('POST', url, true); +http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); +http.onreadystatechange = function() {//Call a function when the state changes. + if(http.readyState == 4 && http.status == 200) { + alert(http.responseText); + } +} +http.send(params); +``` +You can also add `console.log` entries to be able to test/view output + +e.g. +```javascript +console.log('params', codio); +console.log('params', window); +console.log('params', document) +console.log(window.codio.currentPage) +console.log(window.codio.totalNumberOfPages) +``` + +![Custom script](/img/manage_organization/customscript.png) + +If you require any assistance with this, please don't hesitate to [contact us](/dashboard/support/) in the usual manner. + +## Remove owners +You may want to remove one or more of the owners you have set for your organization. It is worth noting that you always need at least one owner. (If you want to know how to add owners, jump to [add organization owners](/dashboard/organisations/#add-organization-owners)). + +To remove owners: + +1. Click your name/gravatar, bottom of the left hand pane + +![authtoken](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) + +1. If you want to remove the owner rights of anyone in your organization, Click the **Members** tab + +![authtoken](/img/manage_organization/memberstab.png) + +1. Under **Organization Teams**, Click **Owners** + +![authtoken](/img/manage_organization/owners.png) + +1. Choose **Remove** on the right hand side of the name of the person whose rights you want to remove. (note: you must always have at least one person in this group to act as the owner) + +## Remove members +There are some occasions where you may want to remove old members in order to make room for new members - for example if a course of students leaves and you want to use the account licences for other students. + +To remove members: + +- Click your name/gravatar, bottom of the left hand pane + +![authtoken](/img/class_administration/profilepic.png) + +- Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) + +- Click the **Members** tab + +![authtoken](/img/manage_organization/memberstab.png) + +- Under **Organization Teams**, Click **All Members** + +![authtoken](/img/manage_organization/members.png) + +- You will be able to see all the members of your school organization. +- Choose **Remove** on the right hand side of the name of the person who you want to remove from your organization. + +- If a course was deleted and students removed, they will show in the **Users without course** section and may be easier for you to find the students to remove + + +- If you want to use the freed-up accounts with new students, follow the steps listed in [Add students to a course](/courses/classes/#add-students-to-a-course) +## Organization Assessments Library +In addition to Codio's global assessments library, you can create Organization assessments libraries. This allows your faculty to share assessment items with other instructors similar to how you can share Courses within an Organization. + +### Create an Organization Assessments Library + +- Click your name/gravatar, bottom of the left hand pane + +![Profile](/img/class_administration/profilepic.png) + +- Click the name of your organization (under **My Organizations**) + +![Org Name](/img/class_administration/addteachers/myschoolorg.png) + +- Click the Assessments Library tab + +![Assessments Library tab](/img/librarytab.png) + +- Click “Create a New Library” + +- Enter the name of the assessments library you want to create and press “Create” + +![Assessments Library name](/img/namelibrary.png) + +Read more about assessment libraries [here](/courses/assessments-library/). + +### Add Collaborators to an Assessments Library + +* Under the Assessments Library tab, click on the library you want to add collaborators to +![Add Collaborators](/img/librarysettings.png) + + +* Click on the Permissions tab. + +**Add Permission:** Either type the user name or use the drop down arrow to select an organization member to give permission to. By default, the collaborators are given “Read” permission, meaning they cannot add to or edit assessments in the library. To give a user “Write” permission, simply select the permission level next to their user name in the list. + +**Read Permission for Teachers:** Turning this on allows all Teachers in the organization to have “Read” permission, meaning they cannot add to or edit assessments in the library. + +![Assessments Library permissions](/img/librarypermissions.png) + +**Remove:** To remove a collaborator, simply press the “Remove” button next to their user name. Please note that is “Read permission for teachers” is turned on, that user may still have read permission if they are still a teacher account and a member of the organization. +## Public/private settings +Organization owners can disable this feature to allow members of the Organization to create Public Projects/Stacks/Starter Packs/Courses and Modules. By default, these will be created as Private. + + +Private projects can still be shared to other users in the normal manner. See [Permissions](/project/ide/settings/#project-permissions) + + +**N.B.** Any existing Projects/Stacks/Starter Packs/Courses and Modules created by members of the organization prior to any changes being made will not be effected + +To enable the creation of Public Projects/Stacks/Starter Packs/Courses and Modules, access the administration tools: + +1. Click on your profile picture (bottom left of **Courses**) + +![authtoken](/img/class_administration/profilepic.png) +1. Click the name of your institution (under **My Organizations**) + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) +1. You will see admin options listed across the top of the page. + +![authtoken](/img/manage_organization/memberstab.png) +1. Select **Organization Settings** +1. Go to the Private/Public Settings area and click the slider to disable this, and **Update** to save the changes + +![authtoken](/img/manage_organization/public_private.png) + +Organization owners can also block Codio support team from being able to access members accounts to provide platform support. + +See also: + +- [Creating and importing a project](/project/projects/#creating-and-importing-a-project) +- [Creating a Stack](/project/stacks/#creating-a-stack) +- [Creating a Pack](/project/packs/#creating-a-pack) +- [Creating a course](/courses/coursemanagement/#create-a-course) +## Gigaboxes +Codio's default boxes are allocated 512MB of memory. If you need larger boxes then you can upgrade your subscription to give access to 1GB, 2GB, 8GB,16GB and GPU (for GPU-accelerated instances) boxes. + +You purchase a specific number of Gigaboxes that can be used by anyone within your organization. Codio tracks usage based on active projects rather than total projects. In other words, you can have 100 projects which use a Gigabox but as long as only one is active at a time, this requires only a single Gigabox unit to be purchased. + +To see the status of your current Gigabox usage, for all users + +- Click on your user name in the dashboard +- Select your organization +- Click on the Organization Settings tab + +You can then scroll down to the Gigaboxes section. +## Delete organization +If, for any reason you want to completely delete your organization, you can do so in the following way: + +1. Click your name/gravatar, bottom of the left hand pane + +![authtoken](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![authtoken](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Organization settings** tab + +![authtoken](/img/manage_organization/orgsettingstab.png) + +1. Go to the **Delete** section at the bottom of the page, and type the confirmation code. Note that once your Organization has been deleted, the action cannot be reverted. + +## Organization contact URL +If you wish to set your own contact URL's for your students (e.g. you have a forum or LMS discussion area for them to use or you have your own resources available to assist students), you can do so in the following way: + +1. Click your name/gravatar, bottom of the left hand pane + +![profile](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![organisation](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Organization settings** tab + +![organisation settings](/img/manage_organization/orgsettingstab.png) + +1. Go to the **Education Settings** section toward the bottom of the page, and enter the text you wish to show along with the URL you wish to direct your students to. You can set as many options as you require and also define the default option that will be checked automatically for the students. +![organisation contact url](/img/manage_organization/org_releasegrades.png) + +1. If these are set, when a student uses any of the ways to contact us, they will be shown all the options in addition to contacting Codio directly if they have a problem accessing the Codio platform, or loading a specific assignment. + +![Student options](/img/manage_organization/studentoptions.png) + +1. These can also be set at the [course](/courses/classes/#course-contact-url) level so if you have specific areas/forums for your courses for students to raise questions, you can set the contact URL there and it will override the Organization setting + +**N.B. "Teacher" accounts will not be effected by this setting and they will still be able to contact Codio in the usual manner. See [Support](/dashboard/support/) for more on this** +## Organization release grades +By default Students are not shown the grades until you decide to release them to the course but if you wish to automatically [Release Grades](/courses/grading/#releasing-grades) when students complete an assignment, you can enable this feature so when you create new [courses](/courses/classes/#creating-a-new-class) this option is automatically enabled. + +Enabling this feature will not effect existing courses + +1. Click your name/gravatar, bottom of the left hand pane + +![profile](/img/class_administration/profilepic.png) + +1. Click on the name of your educational organization - under **My Organizations**, which is about halfway down the screen. + +![organisation](/img/class_administration/addteachers/myschoolorg.png) + +1. Click the **Organization settings** tab + +![organisation settings](/img/manage_organization/orgsettingstab.png) + +1. Go to the **Education Settings** section toward the bottom of the page, and enable the feature + +![Enable Release Grades](/img/manage_organization/org_releasegrades.png) + +1. The status of this feature can be changed in individual courses if required. See [here](/courses/grading/#automatically-releasing-grades) for more information diff --git a/Source_graphics/dashboard/overview.md b/Source_graphics/dashboard/overview.md new file mode 100644 index 00000000..16292dc0 --- /dev/null +++ b/Source_graphics/dashboard/overview.md @@ -0,0 +1,17 @@ +--- +title: Overview + + +--- + +## Codio Overview + +**Video: Flexible Student Learning Experience** + +

+ +**Video: Teacher Dashboard Overview** +

+ +**Video: Access In-Product Support** +

\ No newline at end of file diff --git a/Source_graphics/dashboard/support.md b/Source_graphics/dashboard/support.md new file mode 100644 index 00000000..7b23fa25 --- /dev/null +++ b/Source_graphics/dashboard/support.md @@ -0,0 +1,43 @@ +--- +title: Support + +--- + +If you need support, then the most effective way is to use our integrated support system. You will find this in the dashboard and the IDE. + +## Dashboard +Support is available in the dashboard from the **Chat** link on the left. + +## IDE +Support is available within the IDE from the **Help** menu item, then **Support**. + +## Support Dialog +There is a support dialog that appears when you invoke the support option. This tracks all conversations and threads you have had with Codio and where you can also start a new conversation. + +![Intercom Start](/img/intercomstart.png) + +If you are in Codio, you can see when a reply to your query arrives even if you have closed the support dialog box +![Intercom Notification](/img/intercomnotification.png) + +An email will also be sent to you if you do not see the reply within 2 minutes. + +## Feedback + +We are always interested to hear from our users about their thoughts/ideas for future improvements. To raise an idea or vote on other ideas already raised, either click on **Feedback** in your dashboard area or go to [Codio Feedback](https://feedback.codio.com/) directly. + +![Feedback](/img/codiofeedback.png) + +## Student Support +You can set a Contact URL for your students at the organisation level, see [Organisation Contact URL](/dashboard/organisations/#organisation-contact-url) and/or at the course level, see [Course Contact URL](/courses/classes/#course-contact-url) so they can raise any questions they may have directly to your preferred area + +If you set the contact URL for a course, this will override any contact URL you may have set at the organisation level. + +Students will then be given the option to report a problem, ask a question related to their course work or if they have a problem accessing the Codio platform, or loading a specific assignment. + +![Student options](/img/manage_organization/studentoptions.png) + + +**N.B. "Teacher" accounts will not be effected by this setting and they will still be able to contact Codio in the usual manner.** + + + diff --git a/Source_graphics/img/CodioLibTags.png b/Source_graphics/img/CodioLibTags.png new file mode 100644 index 00000000..bac0440d Binary files /dev/null and b/Source_graphics/img/CodioLibTags.png differ diff --git a/Source_graphics/img/CreateAssessment.png b/Source_graphics/img/CreateAssessment.png new file mode 100644 index 00000000..d3a5cfc4 Binary files /dev/null and b/Source_graphics/img/CreateAssessment.png differ diff --git a/Source_graphics/img/DisconnectFromlib.png b/Source_graphics/img/DisconnectFromlib.png new file mode 100644 index 00000000..39cf87e9 Binary files /dev/null and b/Source_graphics/img/DisconnectFromlib.png differ diff --git a/Source_graphics/img/EditAssessmsent.png b/Source_graphics/img/EditAssessmsent.png new file mode 100644 index 00000000..1026d7b6 Binary files /dev/null and b/Source_graphics/img/EditAssessmsent.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/autoComplete.png b/Source_graphics/img/Level contains more then 150 items, output truncated/autoComplete.png new file mode 100644 index 00000000..981d09fb Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/autoComplete.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags.png b/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags.png new file mode 100644 index 00000000..547109e2 Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags2.png b/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags2.png new file mode 100644 index 00000000..7260596f Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/doubleTags2.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch.png b/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch.png new file mode 100644 index 00000000..cf1e2b78 Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch2.png b/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch2.png new file mode 100644 index 00000000..19a91b9a Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/savedSearch2.png differ diff --git a/Source_graphics/img/Level contains more then 150 items, output truncated/searchResults.png b/Source_graphics/img/Level contains more then 150 items, output truncated/searchResults.png new file mode 100644 index 00000000..62a21fc0 Binary files /dev/null and b/Source_graphics/img/Level contains more then 150 items, output truncated/searchResults.png differ diff --git a/Source_graphics/img/UpdateInLib.png b/Source_graphics/img/UpdateInLib.png new file mode 100644 index 00000000..b4460c9d Binary files /dev/null and b/Source_graphics/img/UpdateInLib.png differ diff --git a/Source_graphics/img/access-bower.png b/Source_graphics/img/access-bower.png new file mode 100644 index 00000000..d86ccd73 Binary files /dev/null and b/Source_graphics/img/access-bower.png differ diff --git a/Source_graphics/img/accessgrades.png b/Source_graphics/img/accessgrades.png new file mode 100644 index 00000000..aa2843b5 Binary files /dev/null and b/Source_graphics/img/accessgrades.png differ diff --git a/Source_graphics/img/account_billing.png b/Source_graphics/img/account_billing.png new file mode 100644 index 00000000..ae756dd1 Binary files /dev/null and b/Source_graphics/img/account_billing.png differ diff --git a/Source_graphics/img/account_password.png b/Source_graphics/img/account_password.png new file mode 100644 index 00000000..830a4ab6 Binary files /dev/null and b/Source_graphics/img/account_password.png differ diff --git a/Source_graphics/img/account_settings.png b/Source_graphics/img/account_settings.png new file mode 100644 index 00000000..137352e1 Binary files /dev/null and b/Source_graphics/img/account_settings.png differ diff --git a/Source_graphics/img/actionarea.png b/Source_graphics/img/actionarea.png new file mode 100644 index 00000000..1a7a2b33 Binary files /dev/null and b/Source_graphics/img/actionarea.png differ diff --git a/Source_graphics/img/addFromLib.png b/Source_graphics/img/addFromLib.png new file mode 100644 index 00000000..edc335a7 Binary files /dev/null and b/Source_graphics/img/addFromLib.png differ diff --git a/Source_graphics/img/adjusted.png b/Source_graphics/img/adjusted.png new file mode 100644 index 00000000..634522dc Binary files /dev/null and b/Source_graphics/img/adjusted.png differ diff --git a/Source_graphics/img/anon-create.png b/Source_graphics/img/anon-create.png new file mode 100644 index 00000000..5bde26fc Binary files /dev/null and b/Source_graphics/img/anon-create.png differ diff --git a/Source_graphics/img/assessment.png b/Source_graphics/img/assessment.png new file mode 100644 index 00000000..96fed359 Binary files /dev/null and b/Source_graphics/img/assessment.png differ diff --git a/Source_graphics/img/assessmentpoints.png b/Source_graphics/img/assessmentpoints.png new file mode 100644 index 00000000..6bb9dc5f Binary files /dev/null and b/Source_graphics/img/assessmentpoints.png differ diff --git a/Source_graphics/img/assessmenttoken.png b/Source_graphics/img/assessmenttoken.png new file mode 100644 index 00000000..000900db Binary files /dev/null and b/Source_graphics/img/assessmenttoken.png differ diff --git a/Source_graphics/img/assign-module.png b/Source_graphics/img/assign-module.png new file mode 100644 index 00000000..9c81db19 Binary files /dev/null and b/Source_graphics/img/assign-module.png differ diff --git a/Source_graphics/img/authtoken.png b/Source_graphics/img/authtoken.png new file mode 100644 index 00000000..989f7f7d Binary files /dev/null and b/Source_graphics/img/authtoken.png differ diff --git a/Source_graphics/img/auto-transfer-total.png b/Source_graphics/img/auto-transfer-total.png new file mode 100644 index 00000000..5823360c Binary files /dev/null and b/Source_graphics/img/auto-transfer-total.png differ diff --git a/Source_graphics/img/autoComplete.png b/Source_graphics/img/autoComplete.png new file mode 100644 index 00000000..981d09fb Binary files /dev/null and b/Source_graphics/img/autoComplete.png differ diff --git a/Source_graphics/img/autograde-test.png b/Source_graphics/img/autograde-test.png new file mode 100644 index 00000000..5581c5ef Binary files /dev/null and b/Source_graphics/img/autograde-test.png differ diff --git a/Source_graphics/img/bloomsTax.png b/Source_graphics/img/bloomsTax.png new file mode 100644 index 00000000..8b2c26da Binary files /dev/null and b/Source_graphics/img/bloomsTax.png differ diff --git a/Source_graphics/img/book-permissions.png b/Source_graphics/img/book-permissions.png new file mode 100644 index 00000000..2faa27d8 Binary files /dev/null and b/Source_graphics/img/book-permissions.png differ diff --git a/Source_graphics/img/book_publish.png b/Source_graphics/img/book_publish.png new file mode 100644 index 00000000..5c3bfece Binary files /dev/null and b/Source_graphics/img/book_publish.png differ diff --git a/Source_graphics/img/book_stack_modified.png b/Source_graphics/img/book_stack_modified.png new file mode 100644 index 00000000..7234423b Binary files /dev/null and b/Source_graphics/img/book_stack_modified.png differ diff --git a/Source_graphics/img/book_stack_newstack.png b/Source_graphics/img/book_stack_newstack.png new file mode 100644 index 00000000..bfe827fa Binary files /dev/null and b/Source_graphics/img/book_stack_newstack.png differ diff --git a/Source_graphics/img/book_stack_newversion.png b/Source_graphics/img/book_stack_newversion.png new file mode 100644 index 00000000..10c47806 Binary files /dev/null and b/Source_graphics/img/book_stack_newversion.png differ diff --git a/Source_graphics/img/book_stack_notmodified.png b/Source_graphics/img/book_stack_notmodified.png new file mode 100644 index 00000000..41f65cdd Binary files /dev/null and b/Source_graphics/img/book_stack_notmodified.png differ diff --git a/Source_graphics/img/bookmapping.png b/Source_graphics/img/bookmapping.png new file mode 100644 index 00000000..12848f34 Binary files /dev/null and b/Source_graphics/img/bookmapping.png differ diff --git a/Source_graphics/img/bookpages.png b/Source_graphics/img/bookpages.png new file mode 100644 index 00000000..e504a94c Binary files /dev/null and b/Source_graphics/img/bookpages.png differ diff --git a/Source_graphics/img/booksettings.png b/Source_graphics/img/booksettings.png new file mode 100644 index 00000000..866bf4de Binary files /dev/null and b/Source_graphics/img/booksettings.png differ diff --git a/Source_graphics/img/booksettingspage.png b/Source_graphics/img/booksettingspage.png new file mode 100644 index 00000000..0360b18b Binary files /dev/null and b/Source_graphics/img/booksettingspage.png differ diff --git a/Source_graphics/img/bookshowallpages.png b/Source_graphics/img/bookshowallpages.png new file mode 100644 index 00000000..47cef145 Binary files /dev/null and b/Source_graphics/img/bookshowallpages.png differ diff --git a/Source_graphics/img/bookslist.png b/Source_graphics/img/bookslist.png new file mode 100644 index 00000000..a27ddb52 Binary files /dev/null and b/Source_graphics/img/bookslist.png differ diff --git a/Source_graphics/img/bookupdate.png b/Source_graphics/img/bookupdate.png new file mode 100644 index 00000000..47edc7f3 Binary files /dev/null and b/Source_graphics/img/bookupdate.png differ diff --git a/Source_graphics/img/bookupdate1.png b/Source_graphics/img/bookupdate1.png new file mode 100644 index 00000000..3c055e13 Binary files /dev/null and b/Source_graphics/img/bookupdate1.png differ diff --git a/Source_graphics/img/bookversion.png b/Source_graphics/img/bookversion.png new file mode 100644 index 00000000..04dd8db4 Binary files /dev/null and b/Source_graphics/img/bookversion.png differ diff --git a/Source_graphics/img/bower-components-tree.png b/Source_graphics/img/bower-components-tree.png new file mode 100644 index 00000000..5d0846f0 Binary files /dev/null and b/Source_graphics/img/bower-components-tree.png differ diff --git a/Source_graphics/img/bower-installable.png b/Source_graphics/img/bower-installable.png new file mode 100644 index 00000000..eca62b32 Binary files /dev/null and b/Source_graphics/img/bower-installable.png differ diff --git a/Source_graphics/img/bower-installed.png b/Source_graphics/img/bower-installed.png new file mode 100644 index 00000000..0d9db0f7 Binary files /dev/null and b/Source_graphics/img/bower-installed.png differ diff --git a/Source_graphics/img/bower-remove.png b/Source_graphics/img/bower-remove.png new file mode 100644 index 00000000..3a71ac77 Binary files /dev/null and b/Source_graphics/img/bower-remove.png differ diff --git a/Source_graphics/img/bower-update.png b/Source_graphics/img/bower-update.png new file mode 100644 index 00000000..11269955 Binary files /dev/null and b/Source_graphics/img/bower-update.png differ diff --git a/Source_graphics/img/box_info.png b/Source_graphics/img/box_info.png new file mode 100644 index 00000000..a9204179 Binary files /dev/null and b/Source_graphics/img/box_info.png differ diff --git a/Source_graphics/img/build.png b/Source_graphics/img/build.png new file mode 100644 index 00000000..73850130 Binary files /dev/null and b/Source_graphics/img/build.png differ diff --git a/Source_graphics/img/buildkeys.png b/Source_graphics/img/buildkeys.png new file mode 100644 index 00000000..795fe388 Binary files /dev/null and b/Source_graphics/img/buildkeys.png differ diff --git a/Source_graphics/img/buildset2.png b/Source_graphics/img/buildset2.png new file mode 100644 index 00000000..2b7fd4da Binary files /dev/null and b/Source_graphics/img/buildset2.png differ diff --git a/Source_graphics/img/buildsettings.png b/Source_graphics/img/buildsettings.png new file mode 100644 index 00000000..d369b4e9 Binary files /dev/null and b/Source_graphics/img/buildsettings.png differ diff --git a/Source_graphics/img/ca-annotations-file.png b/Source_graphics/img/ca-annotations-file.png new file mode 100644 index 00000000..fca48d32 Binary files /dev/null and b/Source_graphics/img/ca-annotations-file.png differ diff --git a/Source_graphics/img/ca-collapse-after.png b/Source_graphics/img/ca-collapse-after.png new file mode 100644 index 00000000..fa4dfefe Binary files /dev/null and b/Source_graphics/img/ca-collapse-after.png differ diff --git a/Source_graphics/img/ca-collapse-before.png b/Source_graphics/img/ca-collapse-before.png new file mode 100644 index 00000000..3b897f96 Binary files /dev/null and b/Source_graphics/img/ca-collapse-before.png differ diff --git a/Source_graphics/img/ca-embed-ide.png b/Source_graphics/img/ca-embed-ide.png new file mode 100644 index 00000000..d7fbcb4e Binary files /dev/null and b/Source_graphics/img/ca-embed-ide.png differ diff --git a/Source_graphics/img/ca-explore.png b/Source_graphics/img/ca-explore.png new file mode 100644 index 00000000..12ccd58a Binary files /dev/null and b/Source_graphics/img/ca-explore.png differ diff --git a/Source_graphics/img/ca-files.png b/Source_graphics/img/ca-files.png new file mode 100644 index 00000000..a1a20b0c Binary files /dev/null and b/Source_graphics/img/ca-files.png differ diff --git a/Source_graphics/img/ca-overview.png b/Source_graphics/img/ca-overview.png new file mode 100644 index 00000000..fa0ba8a1 Binary files /dev/null and b/Source_graphics/img/ca-overview.png differ diff --git a/Source_graphics/img/ca-popup-window.png b/Source_graphics/img/ca-popup-window.png new file mode 100644 index 00000000..d96285e1 Binary files /dev/null and b/Source_graphics/img/ca-popup-window.png differ diff --git a/Source_graphics/img/ca-readme.png b/Source_graphics/img/ca-readme.png new file mode 100644 index 00000000..7d90a881 Binary files /dev/null and b/Source_graphics/img/ca-readme.png differ diff --git a/Source_graphics/img/ca-video.png b/Source_graphics/img/ca-video.png new file mode 100644 index 00000000..66a9472f Binary files /dev/null and b/Source_graphics/img/ca-video.png differ diff --git a/Source_graphics/img/changereleasegrades.png b/Source_graphics/img/changereleasegrades.png new file mode 100644 index 00000000..7d467866 Binary files /dev/null and b/Source_graphics/img/changereleasegrades.png differ diff --git a/Source_graphics/img/chromecookies.png b/Source_graphics/img/chromecookies.png new file mode 100644 index 00000000..79ca7d4e Binary files /dev/null and b/Source_graphics/img/chromecookies.png differ diff --git a/Source_graphics/img/class-releasegrades.png b/Source_graphics/img/class-releasegrades.png new file mode 100644 index 00000000..7d467866 Binary files /dev/null and b/Source_graphics/img/class-releasegrades.png differ diff --git a/Source_graphics/img/class_add_module.png b/Source_graphics/img/class_add_module.png new file mode 100644 index 00000000..3778a266 Binary files /dev/null and b/Source_graphics/img/class_add_module.png differ diff --git a/Source_graphics/img/class_addstudents.png b/Source_graphics/img/class_addstudents.png new file mode 100644 index 00000000..16038d16 Binary files /dev/null and b/Source_graphics/img/class_addstudents.png differ diff --git a/Source_graphics/img/class_addteachers.png b/Source_graphics/img/class_addteachers.png new file mode 100644 index 00000000..8bf50c9c Binary files /dev/null and b/Source_graphics/img/class_addteachers.png differ diff --git a/Source_graphics/img/class_administration/addteachers/invitation.png b/Source_graphics/img/class_administration/addteachers/invitation.png new file mode 100644 index 00000000..d3cb9506 Binary files /dev/null and b/Source_graphics/img/class_administration/addteachers/invitation.png differ diff --git a/Source_graphics/img/class_administration/addteachers/myschoolorg.png b/Source_graphics/img/class_administration/addteachers/myschoolorg.png new file mode 100644 index 00000000..5e19f5e5 Binary files /dev/null and b/Source_graphics/img/class_administration/addteachers/myschoolorg.png differ diff --git a/Source_graphics/img/class_administration/asignmentsettings.png b/Source_graphics/img/class_administration/asignmentsettings.png new file mode 100644 index 00000000..c045d706 Binary files /dev/null and b/Source_graphics/img/class_administration/asignmentsettings.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/classteststudents.png b/Source_graphics/img/class_administration/createanorganization/classteststudents.png new file mode 100644 index 00000000..ee000945 Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/classteststudents.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/completeform.png b/Source_graphics/img/class_administration/createanorganization/completeform.png new file mode 100644 index 00000000..b289ea3d Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/completeform.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/createorg.png b/Source_graphics/img/class_administration/createanorganization/createorg.png new file mode 100644 index 00000000..f9d5a88b Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/createorg.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/org_teams.png b/Source_graphics/img/class_administration/createanorganization/org_teams.png new file mode 100644 index 00000000..bffb79b6 Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/org_teams.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/studentlogin.png b/Source_graphics/img/class_administration/createanorganization/studentlogin.png new file mode 100644 index 00000000..fd8c6d12 Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/studentlogin.png differ diff --git a/Source_graphics/img/class_administration/createanorganization/test-student-view.png b/Source_graphics/img/class_administration/createanorganization/test-student-view.png new file mode 100644 index 00000000..e4985c3c Binary files /dev/null and b/Source_graphics/img/class_administration/createanorganization/test-student-view.png differ diff --git a/Source_graphics/img/class_administration/editassignment.png b/Source_graphics/img/class_administration/editassignment.png new file mode 100644 index 00000000..0c3c332c Binary files /dev/null and b/Source_graphics/img/class_administration/editassignment.png differ diff --git a/Source_graphics/img/class_administration/editunit.png b/Source_graphics/img/class_administration/editunit.png new file mode 100644 index 00000000..8c4de0d7 Binary files /dev/null and b/Source_graphics/img/class_administration/editunit.png differ diff --git a/Source_graphics/img/class_administration/grading/anongrading.png b/Source_graphics/img/class_administration/grading/anongrading.png new file mode 100644 index 00000000..ca69ba38 Binary files /dev/null and b/Source_graphics/img/class_administration/grading/anongrading.png differ diff --git a/Source_graphics/img/class_administration/grading/classroom.png b/Source_graphics/img/class_administration/grading/classroom.png new file mode 100644 index 00000000..bd2762e7 Binary files /dev/null and b/Source_graphics/img/class_administration/grading/classroom.png differ diff --git a/Source_graphics/img/class_administration/grading/grading-template.png b/Source_graphics/img/class_administration/grading/grading-template.png new file mode 100644 index 00000000..74b5a134 Binary files /dev/null and b/Source_graphics/img/class_administration/grading/grading-template.png differ diff --git a/Source_graphics/img/class_administration/grading/set-template.png b/Source_graphics/img/class_administration/grading/set-template.png new file mode 100644 index 00000000..aef20091 Binary files /dev/null and b/Source_graphics/img/class_administration/grading/set-template.png differ diff --git a/Source_graphics/img/class_administration/grading/template-example.png b/Source_graphics/img/class_administration/grading/template-example.png new file mode 100644 index 00000000..489f0b23 Binary files /dev/null and b/Source_graphics/img/class_administration/grading/template-example.png differ diff --git a/Source_graphics/img/class_administration/grading/templates.png b/Source_graphics/img/class_administration/grading/templates.png new file mode 100644 index 00000000..5cfa81ae Binary files /dev/null and b/Source_graphics/img/class_administration/grading/templates.png differ diff --git a/Source_graphics/img/class_administration/indunitupdate.png b/Source_graphics/img/class_administration/indunitupdate.png new file mode 100644 index 00000000..e691af19 Binary files /dev/null and b/Source_graphics/img/class_administration/indunitupdate.png differ diff --git a/Source_graphics/img/class_administration/modulesettings.png b/Source_graphics/img/class_administration/modulesettings.png new file mode 100644 index 00000000..9f7d345f Binary files /dev/null and b/Source_graphics/img/class_administration/modulesettings.png differ diff --git a/Source_graphics/img/class_administration/navigatingcodio/myclassroom.png b/Source_graphics/img/class_administration/navigatingcodio/myclassroom.png new file mode 100644 index 00000000..1e360262 Binary files /dev/null and b/Source_graphics/img/class_administration/navigatingcodio/myclassroom.png differ diff --git a/Source_graphics/img/class_administration/orgbilling.png b/Source_graphics/img/class_administration/orgbilling.png new file mode 100644 index 00000000..c4384997 Binary files /dev/null and b/Source_graphics/img/class_administration/orgbilling.png differ diff --git a/Source_graphics/img/class_administration/profilepic.png b/Source_graphics/img/class_administration/profilepic.png new file mode 100644 index 00000000..f3724872 Binary files /dev/null and b/Source_graphics/img/class_administration/profilepic.png differ diff --git a/Source_graphics/img/class_administration/projectupdateunit.png b/Source_graphics/img/class_administration/projectupdateunit.png new file mode 100644 index 00000000..aa959dd1 Binary files /dev/null and b/Source_graphics/img/class_administration/projectupdateunit.png differ diff --git a/Source_graphics/img/class_administration/stackupdate.png b/Source_graphics/img/class_administration/stackupdate.png new file mode 100644 index 00000000..bd81add4 Binary files /dev/null and b/Source_graphics/img/class_administration/stackupdate.png differ diff --git a/Source_graphics/img/class_administration/unit-settings-1.png b/Source_graphics/img/class_administration/unit-settings-1.png new file mode 100644 index 00000000..fe1b7d1e Binary files /dev/null and b/Source_graphics/img/class_administration/unit-settings-1.png differ diff --git a/Source_graphics/img/class_administration/unit-settings-2.png b/Source_graphics/img/class_administration/unit-settings-2.png new file mode 100644 index 00000000..97c3109f Binary files /dev/null and b/Source_graphics/img/class_administration/unit-settings-2.png differ diff --git a/Source_graphics/img/class_administration/unit-settings-dd.png b/Source_graphics/img/class_administration/unit-settings-dd.png new file mode 100644 index 00000000..d2c7a4a0 Binary files /dev/null and b/Source_graphics/img/class_administration/unit-settings-dd.png differ diff --git a/Source_graphics/img/class_administration/unit-settings-ddORIG.png b/Source_graphics/img/class_administration/unit-settings-ddORIG.png new file mode 100644 index 00000000..f80f1427 Binary files /dev/null and b/Source_graphics/img/class_administration/unit-settings-ddORIG.png differ diff --git a/Source_graphics/img/class_administration/updatedunits.png b/Source_graphics/img/class_administration/updatedunits.png new file mode 100644 index 00000000..fd687c18 Binary files /dev/null and b/Source_graphics/img/class_administration/updatedunits.png differ diff --git a/Source_graphics/img/class_administration/updateunit.png b/Source_graphics/img/class_administration/updateunit.png new file mode 100644 index 00000000..f8cab809 Binary files /dev/null and b/Source_graphics/img/class_administration/updateunit.png differ diff --git a/Source_graphics/img/class_administration/updateunitadhoc.png b/Source_graphics/img/class_administration/updateunitadhoc.png new file mode 100644 index 00000000..671e3b6a Binary files /dev/null and b/Source_graphics/img/class_administration/updateunitadhoc.png differ diff --git a/Source_graphics/img/class_administration/upgradecourse.png b/Source_graphics/img/class_administration/upgradecourse.png new file mode 100644 index 00000000..63de2bd2 Binary files /dev/null and b/Source_graphics/img/class_administration/upgradecourse.png differ diff --git a/Source_graphics/img/class_administration/upgradecoursedialog.png b/Source_graphics/img/class_administration/upgradecoursedialog.png new file mode 100644 index 00000000..480bbfa9 Binary files /dev/null and b/Source_graphics/img/class_administration/upgradecoursedialog.png differ diff --git a/Source_graphics/img/class_courses.png b/Source_graphics/img/class_courses.png new file mode 100644 index 00000000..c5fe2353 Binary files /dev/null and b/Source_graphics/img/class_courses.png differ diff --git a/Source_graphics/img/class_create.png b/Source_graphics/img/class_create.png new file mode 100644 index 00000000..3967360f Binary files /dev/null and b/Source_graphics/img/class_create.png differ diff --git a/Source_graphics/img/class_dashboard.png b/Source_graphics/img/class_dashboard.png new file mode 100644 index 00000000..842f1378 Binary files /dev/null and b/Source_graphics/img/class_dashboard.png differ diff --git a/Source_graphics/img/class_delete.png b/Source_graphics/img/class_delete.png new file mode 100644 index 00000000..4647c934 Binary files /dev/null and b/Source_graphics/img/class_delete.png differ diff --git a/Source_graphics/img/class_export.png b/Source_graphics/img/class_export.png new file mode 100644 index 00000000..6308c584 Binary files /dev/null and b/Source_graphics/img/class_export.png differ diff --git a/Source_graphics/img/class_exportlinks.png b/Source_graphics/img/class_exportlinks.png new file mode 100644 index 00000000..67defd7c Binary files /dev/null and b/Source_graphics/img/class_exportlinks.png differ diff --git a/Source_graphics/img/class_grade.png b/Source_graphics/img/class_grade.png new file mode 100644 index 00000000..08eba83b Binary files /dev/null and b/Source_graphics/img/class_grade.png differ diff --git a/Source_graphics/img/class_join.png b/Source_graphics/img/class_join.png new file mode 100644 index 00000000..c462d7ff Binary files /dev/null and b/Source_graphics/img/class_join.png differ diff --git a/Source_graphics/img/class_list.png b/Source_graphics/img/class_list.png new file mode 100644 index 00000000..4b6b0272 Binary files /dev/null and b/Source_graphics/img/class_list.png differ diff --git a/Source_graphics/img/class_lti_export.png b/Source_graphics/img/class_lti_export.png new file mode 100644 index 00000000..e7339818 Binary files /dev/null and b/Source_graphics/img/class_lti_export.png differ diff --git a/Source_graphics/img/class_projects.png b/Source_graphics/img/class_projects.png new file mode 100644 index 00000000..e9b1a3b8 Binary files /dev/null and b/Source_graphics/img/class_projects.png differ diff --git a/Source_graphics/img/class_recent.png b/Source_graphics/img/class_recent.png new file mode 100644 index 00000000..c9fce860 Binary files /dev/null and b/Source_graphics/img/class_recent.png differ diff --git a/Source_graphics/img/class_releasegrades.png b/Source_graphics/img/class_releasegrades.png new file mode 100644 index 00000000..8f183501 Binary files /dev/null and b/Source_graphics/img/class_releasegrades.png differ diff --git a/Source_graphics/img/class_setgrade.png b/Source_graphics/img/class_setgrade.png new file mode 100644 index 00000000..a65a3713 Binary files /dev/null and b/Source_graphics/img/class_setgrade.png differ diff --git a/Source_graphics/img/class_start.png b/Source_graphics/img/class_start.png new file mode 100644 index 00000000..0f909db7 Binary files /dev/null and b/Source_graphics/img/class_start.png differ diff --git a/Source_graphics/img/class_students.png b/Source_graphics/img/class_students.png new file mode 100644 index 00000000..7fcdea1d Binary files /dev/null and b/Source_graphics/img/class_students.png differ diff --git a/Source_graphics/img/class_studentstab.png b/Source_graphics/img/class_studentstab.png new file mode 100644 index 00000000..ce421712 Binary files /dev/null and b/Source_graphics/img/class_studentstab.png differ diff --git a/Source_graphics/img/class_view.png b/Source_graphics/img/class_view.png new file mode 100644 index 00000000..cf92c201 Binary files /dev/null and b/Source_graphics/img/class_view.png differ diff --git a/Source_graphics/img/class_viewcode.png b/Source_graphics/img/class_viewcode.png new file mode 100644 index 00000000..17377be4 Binary files /dev/null and b/Source_graphics/img/class_viewcode.png differ diff --git a/Source_graphics/img/classcontacturl.png b/Source_graphics/img/classcontacturl.png new file mode 100644 index 00000000..ddf8fc21 Binary files /dev/null and b/Source_graphics/img/classcontacturl.png differ diff --git a/Source_graphics/img/classunitsettings.png b/Source_graphics/img/classunitsettings.png new file mode 100644 index 00000000..5eab7c0b Binary files /dev/null and b/Source_graphics/img/classunitsettings.png differ diff --git a/Source_graphics/img/clone-settings-warning.png b/Source_graphics/img/clone-settings-warning.png new file mode 100644 index 00000000..edc4cf34 Binary files /dev/null and b/Source_graphics/img/clone-settings-warning.png differ diff --git a/Source_graphics/img/clone-settings.png b/Source_graphics/img/clone-settings.png new file mode 100644 index 00000000..f10bb5dd Binary files /dev/null and b/Source_graphics/img/clone-settings.png differ diff --git a/Source_graphics/img/code-folding.png b/Source_graphics/img/code-folding.png new file mode 100644 index 00000000..92245fdd Binary files /dev/null and b/Source_graphics/img/code-folding.png differ diff --git a/Source_graphics/img/codeplayback/CodePlayback1.gif b/Source_graphics/img/codeplayback/CodePlayback1.gif new file mode 100644 index 00000000..3ccf5a35 Binary files /dev/null and b/Source_graphics/img/codeplayback/CodePlayback1.gif differ diff --git a/Source_graphics/img/codeplayback/CodePlayback2.gif b/Source_graphics/img/codeplayback/CodePlayback2.gif new file mode 100644 index 00000000..37cb4a74 Binary files /dev/null and b/Source_graphics/img/codeplayback/CodePlayback2.gif differ diff --git a/Source_graphics/img/codesolution.png b/Source_graphics/img/codesolution.png new file mode 100644 index 00000000..fbf78d18 Binary files /dev/null and b/Source_graphics/img/codesolution.png differ diff --git a/Source_graphics/img/codiofeedback.png b/Source_graphics/img/codiofeedback.png new file mode 100644 index 00000000..69527c1f Binary files /dev/null and b/Source_graphics/img/codiofeedback.png differ diff --git a/Source_graphics/img/codioignore.png b/Source_graphics/img/codioignore.png new file mode 100644 index 00000000..7f24d556 Binary files /dev/null and b/Source_graphics/img/codioignore.png differ diff --git a/Source_graphics/img/codiomenu.png b/Source_graphics/img/codiomenu.png new file mode 100644 index 00000000..373e5276 Binary files /dev/null and b/Source_graphics/img/codiomenu.png differ diff --git a/Source_graphics/img/color-preview.png b/Source_graphics/img/color-preview.png new file mode 100644 index 00000000..ddcc2b79 Binary files /dev/null and b/Source_graphics/img/color-preview.png differ diff --git a/Source_graphics/img/command-bar.png b/Source_graphics/img/command-bar.png new file mode 100644 index 00000000..c9e7ee26 Binary files /dev/null and b/Source_graphics/img/command-bar.png differ diff --git a/Source_graphics/img/commentcode.png b/Source_graphics/img/commentcode.png new file mode 100644 index 00000000..da95dc14 Binary files /dev/null and b/Source_graphics/img/commentcode.png differ diff --git a/Source_graphics/img/compiled-files.png b/Source_graphics/img/compiled-files.png new file mode 100644 index 00000000..827f4ce3 Binary files /dev/null and b/Source_graphics/img/compiled-files.png differ diff --git a/Source_graphics/img/complexLayoutIcon.png b/Source_graphics/img/complexLayoutIcon.png new file mode 100644 index 00000000..97f38773 Binary files /dev/null and b/Source_graphics/img/complexLayoutIcon.png differ diff --git a/Source_graphics/img/config.png b/Source_graphics/img/config.png new file mode 100644 index 00000000..0cc486da Binary files /dev/null and b/Source_graphics/img/config.png differ diff --git a/Source_graphics/img/consent.png b/Source_graphics/img/consent.png new file mode 100644 index 00000000..fdae7d61 Binary files /dev/null and b/Source_graphics/img/consent.png differ diff --git a/Source_graphics/img/console-create.png b/Source_graphics/img/console-create.png new file mode 100644 index 00000000..e7128e49 Binary files /dev/null and b/Source_graphics/img/console-create.png differ diff --git a/Source_graphics/img/console-createbutton.png b/Source_graphics/img/console-createbutton.png new file mode 100644 index 00000000..c45edbcd Binary files /dev/null and b/Source_graphics/img/console-createbutton.png differ diff --git a/Source_graphics/img/console-find.png b/Source_graphics/img/console-find.png new file mode 100644 index 00000000..74db4fb9 Binary files /dev/null and b/Source_graphics/img/console-find.png differ diff --git a/Source_graphics/img/console-screen-desc.png b/Source_graphics/img/console-screen-desc.png new file mode 100644 index 00000000..1c987360 Binary files /dev/null and b/Source_graphics/img/console-screen-desc.png differ diff --git a/Source_graphics/img/console-screen.png b/Source_graphics/img/console-screen.png new file mode 100644 index 00000000..857c038c Binary files /dev/null and b/Source_graphics/img/console-screen.png differ diff --git a/Source_graphics/img/console-screen1.png b/Source_graphics/img/console-screen1.png new file mode 100644 index 00000000..668ffafd Binary files /dev/null and b/Source_graphics/img/console-screen1.png differ diff --git a/Source_graphics/img/console-shared.png b/Source_graphics/img/console-shared.png new file mode 100644 index 00000000..217d6581 Binary files /dev/null and b/Source_graphics/img/console-shared.png differ diff --git a/Source_graphics/img/contactus.png b/Source_graphics/img/contactus.png new file mode 100644 index 00000000..4ac02bb9 Binary files /dev/null and b/Source_graphics/img/contactus.png differ diff --git a/Source_graphics/img/course_create.png b/Source_graphics/img/course_create.png new file mode 100644 index 00000000..79402495 Binary files /dev/null and b/Source_graphics/img/course_create.png differ diff --git a/Source_graphics/img/course_edit.png b/Source_graphics/img/course_edit.png new file mode 100644 index 00000000..7c8634bd Binary files /dev/null and b/Source_graphics/img/course_edit.png differ diff --git a/Source_graphics/img/courseedit.png b/Source_graphics/img/courseedit.png new file mode 100644 index 00000000..33635d08 Binary files /dev/null and b/Source_graphics/img/courseedit.png differ diff --git a/Source_graphics/img/coursepermissions.png b/Source_graphics/img/coursepermissions.png new file mode 100644 index 00000000..ecd2488a Binary files /dev/null and b/Source_graphics/img/coursepermissions.png differ diff --git a/Source_graphics/img/courses.png b/Source_graphics/img/courses.png new file mode 100644 index 00000000..0b3bf3f4 Binary files /dev/null and b/Source_graphics/img/courses.png differ diff --git a/Source_graphics/img/courses_recommend.png b/Source_graphics/img/courses_recommend.png new file mode 100644 index 00000000..033d915b Binary files /dev/null and b/Source_graphics/img/courses_recommend.png differ diff --git a/Source_graphics/img/courses_small.png b/Source_graphics/img/courses_small.png new file mode 100644 index 00000000..da3ba6e5 Binary files /dev/null and b/Source_graphics/img/courses_small.png differ diff --git a/Source_graphics/img/courseslist.png b/Source_graphics/img/courseslist.png new file mode 100644 index 00000000..7eb99969 Binary files /dev/null and b/Source_graphics/img/courseslist.png differ diff --git a/Source_graphics/img/coursestab.png b/Source_graphics/img/coursestab.png new file mode 100644 index 00000000..aef17aba Binary files /dev/null and b/Source_graphics/img/coursestab.png differ diff --git a/Source_graphics/img/cp-basic.png b/Source_graphics/img/cp-basic.png new file mode 100644 index 00000000..ba95f552 Binary files /dev/null and b/Source_graphics/img/cp-basic.png differ diff --git a/Source_graphics/img/cp-custom.png b/Source_graphics/img/cp-custom.png new file mode 100644 index 00000000..d608da41 Binary files /dev/null and b/Source_graphics/img/cp-custom.png differ diff --git a/Source_graphics/img/cp-filetree.png b/Source_graphics/img/cp-filetree.png new file mode 100644 index 00000000..ac58b0ef Binary files /dev/null and b/Source_graphics/img/cp-filetree.png differ diff --git a/Source_graphics/img/create-sftp.png b/Source_graphics/img/create-sftp.png new file mode 100644 index 00000000..5b640f93 Binary files /dev/null and b/Source_graphics/img/create-sftp.png differ diff --git a/Source_graphics/img/createorg.png b/Source_graphics/img/createorg.png new file mode 100644 index 00000000..febd3537 Binary files /dev/null and b/Source_graphics/img/createorg.png differ diff --git a/Source_graphics/img/crosssitetracking.png b/Source_graphics/img/crosssitetracking.png new file mode 100644 index 00000000..b3db7679 Binary files /dev/null and b/Source_graphics/img/crosssitetracking.png differ diff --git a/Source_graphics/img/crunch-comment.png b/Source_graphics/img/crunch-comment.png new file mode 100644 index 00000000..e259dd89 Binary files /dev/null and b/Source_graphics/img/crunch-comment.png differ diff --git a/Source_graphics/img/crunch-insert.png b/Source_graphics/img/crunch-insert.png new file mode 100644 index 00000000..9dcfaee4 Binary files /dev/null and b/Source_graphics/img/crunch-insert.png differ diff --git a/Source_graphics/img/crunch-label.png b/Source_graphics/img/crunch-label.png new file mode 100644 index 00000000..e435b1c5 Binary files /dev/null and b/Source_graphics/img/crunch-label.png differ diff --git a/Source_graphics/img/crunch-step.png b/Source_graphics/img/crunch-step.png new file mode 100644 index 00000000..14fc1864 Binary files /dev/null and b/Source_graphics/img/crunch-step.png differ diff --git a/Source_graphics/img/curriculum_mapped_content/autoassessments/autoexample.png b/Source_graphics/img/curriculum_mapped_content/autoassessments/autoexample.png new file mode 100644 index 00000000..726d891d Binary files /dev/null and b/Source_graphics/img/curriculum_mapped_content/autoassessments/autoexample.png differ diff --git a/Source_graphics/img/curriculum_mapped_content/courses.png b/Source_graphics/img/curriculum_mapped_content/courses.png new file mode 100644 index 00000000..107bbb7d Binary files /dev/null and b/Source_graphics/img/curriculum_mapped_content/courses.png differ diff --git a/Source_graphics/img/customisecodio.png b/Source_graphics/img/customisecodio.png new file mode 100644 index 00000000..ef250bf3 Binary files /dev/null and b/Source_graphics/img/customisecodio.png differ diff --git a/Source_graphics/img/dashboard.png b/Source_graphics/img/dashboard.png new file mode 100644 index 00000000..98a9445c Binary files /dev/null and b/Source_graphics/img/dashboard.png differ diff --git a/Source_graphics/img/deadlineadjust.png b/Source_graphics/img/deadlineadjust.png new file mode 100644 index 00000000..e0d0f02c Binary files /dev/null and b/Source_graphics/img/deadlineadjust.png differ diff --git a/Source_graphics/img/debug-buttons.png b/Source_graphics/img/debug-buttons.png new file mode 100644 index 00000000..4f06af14 Binary files /dev/null and b/Source_graphics/img/debug-buttons.png differ diff --git a/Source_graphics/img/debug-launch.png b/Source_graphics/img/debug-launch.png new file mode 100644 index 00000000..f5e80b26 Binary files /dev/null and b/Source_graphics/img/debug-launch.png differ diff --git a/Source_graphics/img/debug-started.png b/Source_graphics/img/debug-started.png new file mode 100644 index 00000000..2d43074e Binary files /dev/null and b/Source_graphics/img/debug-started.png differ diff --git a/Source_graphics/img/debug-target.png b/Source_graphics/img/debug-target.png new file mode 100644 index 00000000..bfb7d8cb Binary files /dev/null and b/Source_graphics/img/debug-target.png differ diff --git a/Source_graphics/img/debug-targets.png b/Source_graphics/img/debug-targets.png new file mode 100644 index 00000000..e4aa6d57 Binary files /dev/null and b/Source_graphics/img/debug-targets.png differ diff --git a/Source_graphics/img/delete.png b/Source_graphics/img/delete.png new file mode 100644 index 00000000..5770189a Binary files /dev/null and b/Source_graphics/img/delete.png differ diff --git a/Source_graphics/img/deleteclass.png b/Source_graphics/img/deleteclass.png new file mode 100644 index 00000000..91964413 Binary files /dev/null and b/Source_graphics/img/deleteclass.png differ diff --git a/Source_graphics/img/deletetab.png b/Source_graphics/img/deletetab.png new file mode 100644 index 00000000..1ecdd348 Binary files /dev/null and b/Source_graphics/img/deletetab.png differ diff --git a/Source_graphics/img/deleteunit.png b/Source_graphics/img/deleteunit.png new file mode 100644 index 00000000..d386e00b Binary files /dev/null and b/Source_graphics/img/deleteunit.png differ diff --git a/Source_graphics/img/demo-in-ide.png b/Source_graphics/img/demo-in-ide.png new file mode 100644 index 00000000..bc314937 Binary files /dev/null and b/Source_graphics/img/demo-in-ide.png differ diff --git a/Source_graphics/img/deploy-basepath.png b/Source_graphics/img/deploy-basepath.png new file mode 100644 index 00000000..6133b666 Binary files /dev/null and b/Source_graphics/img/deploy-basepath.png differ diff --git a/Source_graphics/img/deploy-button.png b/Source_graphics/img/deploy-button.png new file mode 100644 index 00000000..080348a0 Binary files /dev/null and b/Source_graphics/img/deploy-button.png differ diff --git a/Source_graphics/img/deploy-deploy.png b/Source_graphics/img/deploy-deploy.png new file mode 100644 index 00000000..e2fcb73a Binary files /dev/null and b/Source_graphics/img/deploy-deploy.png differ diff --git a/Source_graphics/img/deploy-details.png b/Source_graphics/img/deploy-details.png new file mode 100644 index 00000000..dabe5749 Binary files /dev/null and b/Source_graphics/img/deploy-details.png differ diff --git a/Source_graphics/img/deploy-ftp.png b/Source_graphics/img/deploy-ftp.png new file mode 100644 index 00000000..db22b630 Binary files /dev/null and b/Source_graphics/img/deploy-ftp.png differ diff --git a/Source_graphics/img/deploy-history.png b/Source_graphics/img/deploy-history.png new file mode 100644 index 00000000..8238549a Binary files /dev/null and b/Source_graphics/img/deploy-history.png differ diff --git a/Source_graphics/img/deploy-menu.png b/Source_graphics/img/deploy-menu.png new file mode 100644 index 00000000..35af30a8 Binary files /dev/null and b/Source_graphics/img/deploy-menu.png differ diff --git a/Source_graphics/img/deploy-nj.png b/Source_graphics/img/deploy-nj.png new file mode 100644 index 00000000..d40bb658 Binary files /dev/null and b/Source_graphics/img/deploy-nj.png differ diff --git a/Source_graphics/img/deploy-rsync.png b/Source_graphics/img/deploy-rsync.png new file mode 100644 index 00000000..8bdf28a5 Binary files /dev/null and b/Source_graphics/img/deploy-rsync.png differ diff --git a/Source_graphics/img/deploy-sftp.png b/Source_graphics/img/deploy-sftp.png new file mode 100644 index 00000000..d8725578 Binary files /dev/null and b/Source_graphics/img/deploy-sftp.png differ diff --git a/Source_graphics/img/deploy-specific.png b/Source_graphics/img/deploy-specific.png new file mode 100644 index 00000000..8b7c6305 Binary files /dev/null and b/Source_graphics/img/deploy-specific.png differ diff --git a/Source_graphics/img/descriptiontext.png b/Source_graphics/img/descriptiontext.png new file mode 100644 index 00000000..7d490885 Binary files /dev/null and b/Source_graphics/img/descriptiontext.png differ diff --git a/Source_graphics/img/desktop_connected.png b/Source_graphics/img/desktop_connected.png new file mode 100644 index 00000000..826faaf9 Binary files /dev/null and b/Source_graphics/img/desktop_connected.png differ diff --git a/Source_graphics/img/desktop_options.png b/Source_graphics/img/desktop_options.png new file mode 100644 index 00000000..09455750 Binary files /dev/null and b/Source_graphics/img/desktop_options.png differ diff --git a/Source_graphics/img/desktop_server.png b/Source_graphics/img/desktop_server.png new file mode 100644 index 00000000..e53f2860 Binary files /dev/null and b/Source_graphics/img/desktop_server.png differ diff --git a/Source_graphics/img/desktop_workspace.png b/Source_graphics/img/desktop_workspace.png new file mode 100644 index 00000000..44bac36a Binary files /dev/null and b/Source_graphics/img/desktop_workspace.png differ diff --git a/Source_graphics/img/desktop_worspacesettings.png b/Source_graphics/img/desktop_worspacesettings.png new file mode 100644 index 00000000..1d36c4f4 Binary files /dev/null and b/Source_graphics/img/desktop_worspacesettings.png differ diff --git a/Source_graphics/img/detextify.png b/Source_graphics/img/detextify.png new file mode 100644 index 00000000..b893fa86 Binary files /dev/null and b/Source_graphics/img/detextify.png differ diff --git a/Source_graphics/img/disable_enable_module.png b/Source_graphics/img/disable_enable_module.png new file mode 100644 index 00000000..87d7f407 Binary files /dev/null and b/Source_graphics/img/disable_enable_module.png differ diff --git a/Source_graphics/img/docmenu.png b/Source_graphics/img/docmenu.png new file mode 100644 index 00000000..ea069296 Binary files /dev/null and b/Source_graphics/img/docmenu.png differ diff --git a/Source_graphics/img/dot-icon-16x16.png b/Source_graphics/img/dot-icon-16x16.png new file mode 100644 index 00000000..67715692 Binary files /dev/null and b/Source_graphics/img/dot-icon-16x16.png differ diff --git a/Source_graphics/img/doubleTags.png b/Source_graphics/img/doubleTags.png new file mode 100644 index 00000000..a05d4793 Binary files /dev/null and b/Source_graphics/img/doubleTags.png differ diff --git a/Source_graphics/img/doubleTags2.png b/Source_graphics/img/doubleTags2.png new file mode 100644 index 00000000..b867c1eb Binary files /dev/null and b/Source_graphics/img/doubleTags2.png differ diff --git a/Source_graphics/img/download.png b/Source_graphics/img/download.png new file mode 100644 index 00000000..44c9b1f3 Binary files /dev/null and b/Source_graphics/img/download.png differ diff --git a/Source_graphics/img/downloadcsv_module.png b/Source_graphics/img/downloadcsv_module.png new file mode 100644 index 00000000..dd64e141 Binary files /dev/null and b/Source_graphics/img/downloadcsv_module.png differ diff --git a/Source_graphics/img/downloadcsv_unit.png b/Source_graphics/img/downloadcsv_unit.png new file mode 100644 index 00000000..1425d9d7 Binary files /dev/null and b/Source_graphics/img/downloadcsv_unit.png differ diff --git a/Source_graphics/img/downloadfile.png b/Source_graphics/img/downloadfile.png new file mode 100644 index 00000000..6b570296 Binary files /dev/null and b/Source_graphics/img/downloadfile.png differ diff --git a/Source_graphics/img/dyslexic.png b/Source_graphics/img/dyslexic.png new file mode 100644 index 00000000..3875ee6a Binary files /dev/null and b/Source_graphics/img/dyslexic.png differ diff --git a/Source_graphics/img/dyslexicview.png b/Source_graphics/img/dyslexicview.png new file mode 100644 index 00000000..1021234b Binary files /dev/null and b/Source_graphics/img/dyslexicview.png differ diff --git a/Source_graphics/img/editsettings.png b/Source_graphics/img/editsettings.png new file mode 100644 index 00000000..babea9a2 Binary files /dev/null and b/Source_graphics/img/editsettings.png differ diff --git a/Source_graphics/img/edu.png b/Source_graphics/img/edu.png new file mode 100644 index 00000000..00504b1a Binary files /dev/null and b/Source_graphics/img/edu.png differ diff --git a/Source_graphics/img/emmet-ref.png b/Source_graphics/img/emmet-ref.png new file mode 100644 index 00000000..cb8c5f76 Binary files /dev/null and b/Source_graphics/img/emmet-ref.png differ diff --git a/Source_graphics/img/examproctoring.png b/Source_graphics/img/examproctoring.png new file mode 100644 index 00000000..252f58fd Binary files /dev/null and b/Source_graphics/img/examproctoring.png differ diff --git a/Source_graphics/img/feedback.png b/Source_graphics/img/feedback.png new file mode 100644 index 00000000..a8666e3d Binary files /dev/null and b/Source_graphics/img/feedback.png differ diff --git a/Source_graphics/img/filter.png b/Source_graphics/img/filter.png new file mode 100644 index 00000000..334cb986 Binary files /dev/null and b/Source_graphics/img/filter.png differ diff --git a/Source_graphics/img/firefoxcookies.png b/Source_graphics/img/firefoxcookies.png new file mode 100644 index 00000000..274a9b01 Binary files /dev/null and b/Source_graphics/img/firefoxcookies.png differ diff --git a/Source_graphics/img/flodesolution.png b/Source_graphics/img/flodesolution.png new file mode 100644 index 00000000..f0f6b51c Binary files /dev/null and b/Source_graphics/img/flodesolution.png differ diff --git a/Source_graphics/img/flodeunit.png b/Source_graphics/img/flodeunit.png new file mode 100644 index 00000000..db9849d0 Binary files /dev/null and b/Source_graphics/img/flodeunit.png differ diff --git a/Source_graphics/img/fork-clone.png b/Source_graphics/img/fork-clone.png new file mode 100644 index 00000000..371ddf72 Binary files /dev/null and b/Source_graphics/img/fork-clone.png differ diff --git a/Source_graphics/img/fork-ide.png b/Source_graphics/img/fork-ide.png new file mode 100644 index 00000000..ab6a5a5c Binary files /dev/null and b/Source_graphics/img/fork-ide.png differ diff --git a/Source_graphics/img/fullscreen.png b/Source_graphics/img/fullscreen.png new file mode 100644 index 00000000..bc31b044 Binary files /dev/null and b/Source_graphics/img/fullscreen.png differ diff --git a/Source_graphics/img/git-active-branch.png b/Source_graphics/img/git-active-branch.png new file mode 100644 index 00000000..62e7c64d Binary files /dev/null and b/Source_graphics/img/git-active-branch.png differ diff --git a/Source_graphics/img/git-edit-profile.png b/Source_graphics/img/git-edit-profile.png new file mode 100644 index 00000000..9075a2ba Binary files /dev/null and b/Source_graphics/img/git-edit-profile.png differ diff --git a/Source_graphics/img/git-overview.png b/Source_graphics/img/git-overview.png new file mode 100644 index 00000000..4f524c58 Binary files /dev/null and b/Source_graphics/img/git-overview.png differ diff --git a/Source_graphics/img/git-remotes.png b/Source_graphics/img/git-remotes.png new file mode 100644 index 00000000..0f61bff8 Binary files /dev/null and b/Source_graphics/img/git-remotes.png differ diff --git a/Source_graphics/img/git-ssh.png b/Source_graphics/img/git-ssh.png new file mode 100644 index 00000000..59bd05db Binary files /dev/null and b/Source_graphics/img/git-ssh.png differ diff --git a/Source_graphics/img/github-clone-url.png b/Source_graphics/img/github-clone-url.png new file mode 100644 index 00000000..408031a2 Binary files /dev/null and b/Source_graphics/img/github-clone-url.png differ diff --git a/Source_graphics/img/github-create.png b/Source_graphics/img/github-create.png new file mode 100644 index 00000000..558b009c Binary files /dev/null and b/Source_graphics/img/github-create.png differ diff --git a/Source_graphics/img/github-new-repo.png b/Source_graphics/img/github-new-repo.png new file mode 100644 index 00000000..b622db73 Binary files /dev/null and b/Source_graphics/img/github-new-repo.png differ diff --git a/Source_graphics/img/github-readme.png b/Source_graphics/img/github-readme.png new file mode 100644 index 00000000..fd5cafe0 Binary files /dev/null and b/Source_graphics/img/github-readme.png differ diff --git a/Source_graphics/img/github-share.png b/Source_graphics/img/github-share.png new file mode 100644 index 00000000..fe367f36 Binary files /dev/null and b/Source_graphics/img/github-share.png differ diff --git a/Source_graphics/img/global-search.png b/Source_graphics/img/global-search.png new file mode 100644 index 00000000..5d80715d Binary files /dev/null and b/Source_graphics/img/global-search.png differ diff --git a/Source_graphics/img/graded.png b/Source_graphics/img/graded.png new file mode 100644 index 00000000..f360a936 Binary files /dev/null and b/Source_graphics/img/graded.png differ diff --git a/Source_graphics/img/gradedetail.png b/Source_graphics/img/gradedetail.png new file mode 100644 index 00000000..aa608e7c Binary files /dev/null and b/Source_graphics/img/gradedetail.png differ diff --git a/Source_graphics/img/gradient-preview.png b/Source_graphics/img/gradient-preview.png new file mode 100644 index 00000000..64f9d890 Binary files /dev/null and b/Source_graphics/img/gradient-preview.png differ diff --git a/Source_graphics/img/grading-assign.png b/Source_graphics/img/grading-assign.png new file mode 100644 index 00000000..fe64c072 Binary files /dev/null and b/Source_graphics/img/grading-assign.png differ diff --git a/Source_graphics/img/grading-deadline.png b/Source_graphics/img/grading-deadline.png new file mode 100644 index 00000000..ddb90533 Binary files /dev/null and b/Source_graphics/img/grading-deadline.png differ diff --git a/Source_graphics/img/grading-release.png b/Source_graphics/img/grading-release.png new file mode 100644 index 00000000..b300562a Binary files /dev/null and b/Source_graphics/img/grading-release.png differ diff --git a/Source_graphics/img/grading-release2.png b/Source_graphics/img/grading-release2.png new file mode 100644 index 00000000..845bec6f Binary files /dev/null and b/Source_graphics/img/grading-release2.png differ diff --git a/Source_graphics/img/grading-secure.png b/Source_graphics/img/grading-secure.png new file mode 100644 index 00000000..a6a64162 Binary files /dev/null and b/Source_graphics/img/grading-secure.png differ diff --git a/Source_graphics/img/grading-unit.png b/Source_graphics/img/grading-unit.png new file mode 100644 index 00000000..3cff768c Binary files /dev/null and b/Source_graphics/img/grading-unit.png differ diff --git a/Source_graphics/img/gradingweights.png b/Source_graphics/img/gradingweights.png new file mode 100644 index 00000000..d5c825f5 Binary files /dev/null and b/Source_graphics/img/gradingweights.png differ diff --git a/Source_graphics/img/guide_files.png b/Source_graphics/img/guide_files.png new file mode 100644 index 00000000..3b4e92b4 Binary files /dev/null and b/Source_graphics/img/guide_files.png differ diff --git a/Source_graphics/img/guideassessment.png b/Source_graphics/img/guideassessment.png new file mode 100644 index 00000000..75e214ff Binary files /dev/null and b/Source_graphics/img/guideassessment.png differ diff --git a/Source_graphics/img/guides/JavaVisualizerExample.png b/Source_graphics/img/guides/JavaVisualizerExample.png new file mode 100644 index 00000000..c4ec8e2a Binary files /dev/null and b/Source_graphics/img/guides/JavaVisualizerExample.png differ diff --git a/Source_graphics/img/guides/PythonVisualizerExample.png b/Source_graphics/img/guides/PythonVisualizerExample.png new file mode 100644 index 00000000..6a7ae1ff Binary files /dev/null and b/Source_graphics/img/guides/PythonVisualizerExample.png differ diff --git a/Source_graphics/img/guides/add-section.png b/Source_graphics/img/guides/add-section.png new file mode 100644 index 00000000..28f9dbbb Binary files /dev/null and b/Source_graphics/img/guides/add-section.png differ diff --git a/Source_graphics/img/guides/add_assessment.png b/Source_graphics/img/guides/add_assessment.png new file mode 100644 index 00000000..27e8de51 Binary files /dev/null and b/Source_graphics/img/guides/add_assessment.png differ diff --git a/Source_graphics/img/guides/addbookbasedunit.png b/Source_graphics/img/guides/addbookbasedunit.png new file mode 100644 index 00000000..abd07400 Binary files /dev/null and b/Source_graphics/img/guides/addbookbasedunit.png differ diff --git a/Source_graphics/img/guides/assesment_sense.png b/Source_graphics/img/guides/assesment_sense.png new file mode 100644 index 00000000..043ff8b7 Binary files /dev/null and b/Source_graphics/img/guides/assesment_sense.png differ diff --git a/Source_graphics/img/guides/assessment-library-selection-menu.png b/Source_graphics/img/guides/assessment-library-selection-menu.png new file mode 100644 index 00000000..66762a25 Binary files /dev/null and b/Source_graphics/img/guides/assessment-library-selection-menu.png differ diff --git a/Source_graphics/img/guides/assessment-library-selection.png b/Source_graphics/img/guides/assessment-library-selection.png new file mode 100644 index 00000000..77a48893 Binary files /dev/null and b/Source_graphics/img/guides/assessment-library-selection.png differ diff --git a/Source_graphics/img/guides/assessment-save-to-library.png b/Source_graphics/img/guides/assessment-save-to-library.png new file mode 100644 index 00000000..d0682fca Binary files /dev/null and b/Source_graphics/img/guides/assessment-save-to-library.png differ diff --git a/Source_graphics/img/guides/assessment_act_exec_custom.png b/Source_graphics/img/guides/assessment_act_exec_custom.png new file mode 100644 index 00000000..9b195957 Binary files /dev/null and b/Source_graphics/img/guides/assessment_act_exec_custom.png differ diff --git a/Source_graphics/img/guides/assessment_act_exec_pycodestyle.png b/Source_graphics/img/guides/assessment_act_exec_pycodestyle.png new file mode 100644 index 00000000..bea9fa40 Binary files /dev/null and b/Source_graphics/img/guides/assessment_act_exec_pycodestyle.png differ diff --git a/Source_graphics/img/guides/assessment_autofree_exec.png b/Source_graphics/img/guides/assessment_autofree_exec.png new file mode 100644 index 00000000..6a035232 Binary files /dev/null and b/Source_graphics/img/guides/assessment_autofree_exec.png differ diff --git a/Source_graphics/img/guides/assessment_autogradefree.png b/Source_graphics/img/guides/assessment_autogradefree.png new file mode 100644 index 00000000..e3ed28e2 Binary files /dev/null and b/Source_graphics/img/guides/assessment_autogradefree.png differ diff --git a/Source_graphics/img/guides/assessment_codetest.png b/Source_graphics/img/guides/assessment_codetest.png new file mode 100644 index 00000000..f45bb1d0 Binary files /dev/null and b/Source_graphics/img/guides/assessment_codetest.png differ diff --git a/Source_graphics/img/guides/assessment_files.png b/Source_graphics/img/guides/assessment_files.png new file mode 100644 index 00000000..43198ad3 Binary files /dev/null and b/Source_graphics/img/guides/assessment_files.png differ diff --git a/Source_graphics/img/guides/assessment_fitb.png b/Source_graphics/img/guides/assessment_fitb.png new file mode 100644 index 00000000..caa2b745 Binary files /dev/null and b/Source_graphics/img/guides/assessment_fitb.png differ diff --git a/Source_graphics/img/guides/assessment_fitb_exec.png b/Source_graphics/img/guides/assessment_fitb_exec.png new file mode 100644 index 00000000..4228bcb9 Binary files /dev/null and b/Source_graphics/img/guides/assessment_fitb_exec.png differ diff --git a/Source_graphics/img/guides/assessment_fitb_grading.png b/Source_graphics/img/guides/assessment_fitb_grading.png new file mode 100644 index 00000000..cd15e75f Binary files /dev/null and b/Source_graphics/img/guides/assessment_fitb_grading.png differ diff --git a/Source_graphics/img/guides/assessment_free.png b/Source_graphics/img/guides/assessment_free.png new file mode 100644 index 00000000..1e0d4a4c Binary files /dev/null and b/Source_graphics/img/guides/assessment_free.png differ diff --git a/Source_graphics/img/guides/assessment_free_general.png b/Source_graphics/img/guides/assessment_free_general.png new file mode 100644 index 00000000..05ee1d6f Binary files /dev/null and b/Source_graphics/img/guides/assessment_free_general.png differ diff --git a/Source_graphics/img/guides/assessment_free_grading.png b/Source_graphics/img/guides/assessment_free_grading.png new file mode 100644 index 00000000..184d0f66 Binary files /dev/null and b/Source_graphics/img/guides/assessment_free_grading.png differ diff --git a/Source_graphics/img/guides/assessment_general.png b/Source_graphics/img/guides/assessment_general.png new file mode 100644 index 00000000..64120334 Binary files /dev/null and b/Source_graphics/img/guides/assessment_general.png differ diff --git a/Source_graphics/img/guides/assessment_gradebook.png b/Source_graphics/img/guides/assessment_gradebook.png new file mode 100644 index 00000000..011c5815 Binary files /dev/null and b/Source_graphics/img/guides/assessment_gradebook.png differ diff --git a/Source_graphics/img/guides/assessment_gradebook_exec.png b/Source_graphics/img/guides/assessment_gradebook_exec.png new file mode 100644 index 00000000..68c1b20f Binary files /dev/null and b/Source_graphics/img/guides/assessment_gradebook_exec.png differ diff --git a/Source_graphics/img/guides/assessment_gradebook_general.png b/Source_graphics/img/guides/assessment_gradebook_general.png new file mode 100644 index 00000000..690d389d Binary files /dev/null and b/Source_graphics/img/guides/assessment_gradebook_general.png differ diff --git a/Source_graphics/img/guides/assessment_gradebook_grading.png b/Source_graphics/img/guides/assessment_gradebook_grading.png new file mode 100644 index 00000000..4a280219 Binary files /dev/null and b/Source_graphics/img/guides/assessment_gradebook_grading.png differ diff --git a/Source_graphics/img/guides/assessment_gradebook_rubric.png b/Source_graphics/img/guides/assessment_gradebook_rubric.png new file mode 100644 index 00000000..39e0fb5c Binary files /dev/null and b/Source_graphics/img/guides/assessment_gradebook_rubric.png differ diff --git a/Source_graphics/img/guides/assessment_grading.png b/Source_graphics/img/guides/assessment_grading.png new file mode 100644 index 00000000..c46fdedb Binary files /dev/null and b/Source_graphics/img/guides/assessment_grading.png differ diff --git a/Source_graphics/img/guides/assessment_mc_exec.png b/Source_graphics/img/guides/assessment_mc_exec.png new file mode 100644 index 00000000..be24706d Binary files /dev/null and b/Source_graphics/img/guides/assessment_mc_exec.png differ diff --git a/Source_graphics/img/guides/assessment_mc_general.png b/Source_graphics/img/guides/assessment_mc_general.png new file mode 100644 index 00000000..6fc4d0e0 Binary files /dev/null and b/Source_graphics/img/guides/assessment_mc_general.png differ diff --git a/Source_graphics/img/guides/assessment_mc_grading.png b/Source_graphics/img/guides/assessment_mc_grading.png new file mode 100644 index 00000000..5fa99332 Binary files /dev/null and b/Source_graphics/img/guides/assessment_mc_grading.png differ diff --git a/Source_graphics/img/guides/assessment_mcq.png b/Source_graphics/img/guides/assessment_mcq.png new file mode 100644 index 00000000..ec64647d Binary files /dev/null and b/Source_graphics/img/guides/assessment_mcq.png differ diff --git a/Source_graphics/img/guides/assessment_metadata.png b/Source_graphics/img/guides/assessment_metadata.png new file mode 100644 index 00000000..17521d4c Binary files /dev/null and b/Source_graphics/img/guides/assessment_metadata.png differ diff --git a/Source_graphics/img/guides/assessment_metadata_example.png b/Source_graphics/img/guides/assessment_metadata_example.png new file mode 100644 index 00000000..3ce6faa3 Binary files /dev/null and b/Source_graphics/img/guides/assessment_metadata_example.png differ diff --git a/Source_graphics/img/guides/assessment_metadata_lib.png b/Source_graphics/img/guides/assessment_metadata_lib.png new file mode 100644 index 00000000..b07b9758 Binary files /dev/null and b/Source_graphics/img/guides/assessment_metadata_lib.png differ diff --git a/Source_graphics/img/guides/assessment_parsons.png b/Source_graphics/img/guides/assessment_parsons.png new file mode 100644 index 00000000..2a338f28 Binary files /dev/null and b/Source_graphics/img/guides/assessment_parsons.png differ diff --git a/Source_graphics/img/guides/assessment_parsons_exec.png b/Source_graphics/img/guides/assessment_parsons_exec.png new file mode 100644 index 00000000..abb7e927 Binary files /dev/null and b/Source_graphics/img/guides/assessment_parsons_exec.png differ diff --git a/Source_graphics/img/guides/assessment_sct_execution.png b/Source_graphics/img/guides/assessment_sct_execution.png new file mode 100644 index 00000000..50d18052 Binary files /dev/null and b/Source_graphics/img/guides/assessment_sct_execution.png differ diff --git a/Source_graphics/img/guides/assessment_sct_grading.png b/Source_graphics/img/guides/assessment_sct_grading.png new file mode 100644 index 00000000..8a2694f2 Binary files /dev/null and b/Source_graphics/img/guides/assessment_sct_grading.png differ diff --git a/Source_graphics/img/guides/assessment_sn_exec.png b/Source_graphics/img/guides/assessment_sn_exec.png new file mode 100644 index 00000000..9705247d Binary files /dev/null and b/Source_graphics/img/guides/assessment_sn_exec.png differ diff --git a/Source_graphics/img/guides/assessment_sn_general.png b/Source_graphics/img/guides/assessment_sn_general.png new file mode 100644 index 00000000..8f08d70f Binary files /dev/null and b/Source_graphics/img/guides/assessment_sn_general.png differ diff --git a/Source_graphics/img/guides/assessment_sn_grading.png b/Source_graphics/img/guides/assessment_sn_grading.png new file mode 100644 index 00000000..d1d48ca2 Binary files /dev/null and b/Source_graphics/img/guides/assessment_sn_grading.png differ diff --git a/Source_graphics/img/guides/assessments-fitb1.png b/Source_graphics/img/guides/assessments-fitb1.png new file mode 100644 index 00000000..3a7e9f7d Binary files /dev/null and b/Source_graphics/img/guides/assessments-fitb1.png differ diff --git a/Source_graphics/img/guides/assessments-fitb2.png b/Source_graphics/img/guides/assessments-fitb2.png new file mode 100644 index 00000000..ff8cb369 Binary files /dev/null and b/Source_graphics/img/guides/assessments-fitb2.png differ diff --git a/Source_graphics/img/guides/callout_info.png b/Source_graphics/img/guides/callout_info.png new file mode 100644 index 00000000..8de1e7bd Binary files /dev/null and b/Source_graphics/img/guides/callout_info.png differ diff --git a/Source_graphics/img/guides/chapter.png b/Source_graphics/img/guides/chapter.png new file mode 100644 index 00000000..7c0ac2d2 Binary files /dev/null and b/Source_graphics/img/guides/chapter.png differ diff --git a/Source_graphics/img/guides/codecommentguides.png b/Source_graphics/img/guides/codecommentguides.png new file mode 100644 index 00000000..f743e0b3 Binary files /dev/null and b/Source_graphics/img/guides/codecommentguides.png differ diff --git a/Source_graphics/img/guides/codiomenu.png b/Source_graphics/img/guides/codiomenu.png new file mode 100644 index 00000000..61cdc24f Binary files /dev/null and b/Source_graphics/img/guides/codiomenu.png differ diff --git a/Source_graphics/img/guides/codiomenupreview.png b/Source_graphics/img/guides/codiomenupreview.png new file mode 100644 index 00000000..f97f5874 Binary files /dev/null and b/Source_graphics/img/guides/codiomenupreview.png differ diff --git a/Source_graphics/img/guides/collapse.png b/Source_graphics/img/guides/collapse.png new file mode 100644 index 00000000..13996d4a Binary files /dev/null and b/Source_graphics/img/guides/collapse.png differ diff --git a/Source_graphics/img/guides/collapsible.png b/Source_graphics/img/guides/collapsible.png new file mode 100644 index 00000000..56398b71 Binary files /dev/null and b/Source_graphics/img/guides/collapsible.png differ diff --git a/Source_graphics/img/guides/complete.png b/Source_graphics/img/guides/complete.png new file mode 100644 index 00000000..92569773 Binary files /dev/null and b/Source_graphics/img/guides/complete.png differ diff --git a/Source_graphics/img/guides/contentmapping.png b/Source_graphics/img/guides/contentmapping.png new file mode 100644 index 00000000..f68db129 Binary files /dev/null and b/Source_graphics/img/guides/contentmapping.png differ diff --git a/Source_graphics/img/guides/coursemodule.png b/Source_graphics/img/guides/coursemodule.png new file mode 100644 index 00000000..0ac5ba08 Binary files /dev/null and b/Source_graphics/img/guides/coursemodule.png differ diff --git a/Source_graphics/img/guides/custom-button.png b/Source_graphics/img/guides/custom-button.png new file mode 100644 index 00000000..711ba3a4 Binary files /dev/null and b/Source_graphics/img/guides/custom-button.png differ diff --git a/Source_graphics/img/guides/dyslexia.png b/Source_graphics/img/guides/dyslexia.png new file mode 100644 index 00000000..faf395f6 Binary files /dev/null and b/Source_graphics/img/guides/dyslexia.png differ diff --git a/Source_graphics/img/guides/editbook.png b/Source_graphics/img/guides/editbook.png new file mode 100644 index 00000000..719a920b Binary files /dev/null and b/Source_graphics/img/guides/editbook.png differ diff --git a/Source_graphics/img/guides/editnav.png b/Source_graphics/img/guides/editnav.png new file mode 100644 index 00000000..8d32977a Binary files /dev/null and b/Source_graphics/img/guides/editnav.png differ diff --git a/Source_graphics/img/guides/editor-button.png b/Source_graphics/img/guides/editor-button.png new file mode 100644 index 00000000..d73e1a07 Binary files /dev/null and b/Source_graphics/img/guides/editor-button.png differ diff --git a/Source_graphics/img/guides/editor.png b/Source_graphics/img/guides/editor.png new file mode 100644 index 00000000..fe4b701b Binary files /dev/null and b/Source_graphics/img/guides/editor.png differ diff --git a/Source_graphics/img/guides/freetext-grading.png b/Source_graphics/img/guides/freetext-grading.png new file mode 100644 index 00000000..cedeb2c5 Binary files /dev/null and b/Source_graphics/img/guides/freetext-grading.png differ diff --git a/Source_graphics/img/guides/freetext_navigate.png b/Source_graphics/img/guides/freetext_navigate.png new file mode 100644 index 00000000..84db11f4 Binary files /dev/null and b/Source_graphics/img/guides/freetext_navigate.png differ diff --git a/Source_graphics/img/guides/freetextanswer.png b/Source_graphics/img/guides/freetextanswer.png new file mode 100644 index 00000000..f73f4cc1 Binary files /dev/null and b/Source_graphics/img/guides/freetextanswer.png differ diff --git a/Source_graphics/img/guides/freetexticon.png b/Source_graphics/img/guides/freetexticon.png new file mode 100644 index 00000000..9906b391 Binary files /dev/null and b/Source_graphics/img/guides/freetexticon.png differ diff --git a/Source_graphics/img/guides/generateitem.png b/Source_graphics/img/guides/generateitem.png new file mode 100644 index 00000000..29f3855a Binary files /dev/null and b/Source_graphics/img/guides/generateitem.png differ diff --git a/Source_graphics/img/guides/globalsettings.png b/Source_graphics/img/guides/globalsettings.png new file mode 100644 index 00000000..9dbaae54 Binary files /dev/null and b/Source_graphics/img/guides/globalsettings.png differ diff --git a/Source_graphics/img/guides/guide_files.png b/Source_graphics/img/guides/guide_files.png new file mode 100644 index 00000000..91c6644b Binary files /dev/null and b/Source_graphics/img/guides/guide_files.png differ diff --git a/Source_graphics/img/guides/guidecollapse.png b/Source_graphics/img/guides/guidecollapse.png new file mode 100644 index 00000000..f44fe540 Binary files /dev/null and b/Source_graphics/img/guides/guidecollapse.png differ diff --git a/Source_graphics/img/guides/guidecss.png b/Source_graphics/img/guides/guidecss.png new file mode 100644 index 00000000..0c9419e3 Binary files /dev/null and b/Source_graphics/img/guides/guidecss.png differ diff --git a/Source_graphics/img/guides/guides_publish.png b/Source_graphics/img/guides/guides_publish.png new file mode 100644 index 00000000..4e2db131 Binary files /dev/null and b/Source_graphics/img/guides/guides_publish.png differ diff --git a/Source_graphics/img/guides/guides_vimeo.png b/Source_graphics/img/guides/guides_vimeo.png new file mode 100644 index 00000000..6df8e1ef Binary files /dev/null and b/Source_graphics/img/guides/guides_vimeo.png differ diff --git a/Source_graphics/img/guides/guides_youtube.png b/Source_graphics/img/guides/guides_youtube.png new file mode 100644 index 00000000..e79c3fea Binary files /dev/null and b/Source_graphics/img/guides/guides_youtube.png differ diff --git a/Source_graphics/img/guides/layouts.png b/Source_graphics/img/guides/layouts.png new file mode 100644 index 00000000..769fd95b Binary files /dev/null and b/Source_graphics/img/guides/layouts.png differ diff --git a/Source_graphics/img/guides/lexicon.png b/Source_graphics/img/guides/lexicon.png new file mode 100644 index 00000000..7663a7c4 Binary files /dev/null and b/Source_graphics/img/guides/lexicon.png differ diff --git a/Source_graphics/img/guides/math-assessment.png b/Source_graphics/img/guides/math-assessment.png new file mode 100644 index 00000000..1291d9e2 Binary files /dev/null and b/Source_graphics/img/guides/math-assessment.png differ diff --git a/Source_graphics/img/guides/mathjax.png b/Source_graphics/img/guides/mathjax.png new file mode 100644 index 00000000..a94dde1c Binary files /dev/null and b/Source_graphics/img/guides/mathjax.png differ diff --git a/Source_graphics/img/guides/media.png b/Source_graphics/img/guides/media.png new file mode 100644 index 00000000..a0efc118 Binary files /dev/null and b/Source_graphics/img/guides/media.png differ diff --git a/Source_graphics/img/guides/notpartial.png b/Source_graphics/img/guides/notpartial.png new file mode 100644 index 00000000..6dd2bd7d Binary files /dev/null and b/Source_graphics/img/guides/notpartial.png differ diff --git a/Source_graphics/img/guides/opentabs.png b/Source_graphics/img/guides/opentabs.png new file mode 100644 index 00000000..7d51792f Binary files /dev/null and b/Source_graphics/img/guides/opentabs.png differ diff --git a/Source_graphics/img/guides/org_integrations.png b/Source_graphics/img/guides/org_integrations.png new file mode 100644 index 00000000..62ec3085 Binary files /dev/null and b/Source_graphics/img/guides/org_integrations.png differ diff --git a/Source_graphics/img/guides/overview.png b/Source_graphics/img/guides/overview.png new file mode 100644 index 00000000..5323ea07 Binary files /dev/null and b/Source_graphics/img/guides/overview.png differ diff --git a/Source_graphics/img/guides/page.png b/Source_graphics/img/guides/page.png new file mode 100644 index 00000000..efdefa2a Binary files /dev/null and b/Source_graphics/img/guides/page.png differ diff --git a/Source_graphics/img/guides/panel.png b/Source_graphics/img/guides/panel.png new file mode 100644 index 00000000..6079eb02 Binary files /dev/null and b/Source_graphics/img/guides/panel.png differ diff --git a/Source_graphics/img/guides/partial.png b/Source_graphics/img/guides/partial.png new file mode 100644 index 00000000..bfa20fac Binary files /dev/null and b/Source_graphics/img/guides/partial.png differ diff --git a/Source_graphics/img/guides/partialpointrubric.png b/Source_graphics/img/guides/partialpointrubric.png new file mode 100644 index 00000000..e5f979e3 Binary files /dev/null and b/Source_graphics/img/guides/partialpointrubric.png differ diff --git a/Source_graphics/img/guides/plag-button.png b/Source_graphics/img/guides/plag-button.png new file mode 100644 index 00000000..82b048ee Binary files /dev/null and b/Source_graphics/img/guides/plag-button.png differ diff --git a/Source_graphics/img/guides/plag-edits.png b/Source_graphics/img/guides/plag-edits.png new file mode 100644 index 00000000..bc07e593 Binary files /dev/null and b/Source_graphics/img/guides/plag-edits.png differ diff --git a/Source_graphics/img/guides/plag-main-report.png b/Source_graphics/img/guides/plag-main-report.png new file mode 100644 index 00000000..29d9dfcc Binary files /dev/null and b/Source_graphics/img/guides/plag-main-report.png differ diff --git a/Source_graphics/img/guides/plag-sidebyside.png b/Source_graphics/img/guides/plag-sidebyside.png new file mode 100644 index 00000000..10276a05 Binary files /dev/null and b/Source_graphics/img/guides/plag-sidebyside.png differ diff --git a/Source_graphics/img/guides/plag-summary.png b/Source_graphics/img/guides/plag-summary.png new file mode 100644 index 00000000..ea80f14a Binary files /dev/null and b/Source_graphics/img/guides/plag-summary.png differ diff --git a/Source_graphics/img/guides/playmode.png b/Source_graphics/img/guides/playmode.png new file mode 100644 index 00000000..d325513f Binary files /dev/null and b/Source_graphics/img/guides/playmode.png differ diff --git a/Source_graphics/img/guides/preview-button.png b/Source_graphics/img/guides/preview-button.png new file mode 100644 index 00000000..d107fd4d Binary files /dev/null and b/Source_graphics/img/guides/preview-button.png differ diff --git a/Source_graphics/img/guides/project_1.png b/Source_graphics/img/guides/project_1.png new file mode 100644 index 00000000..0806b72a Binary files /dev/null and b/Source_graphics/img/guides/project_1.png differ diff --git a/Source_graphics/img/guides/project_2.png b/Source_graphics/img/guides/project_2.png new file mode 100644 index 00000000..f827e4fd Binary files /dev/null and b/Source_graphics/img/guides/project_2.png differ diff --git a/Source_graphics/img/guides/project_3.png b/Source_graphics/img/guides/project_3.png new file mode 100644 index 00000000..2a2ed736 Binary files /dev/null and b/Source_graphics/img/guides/project_3.png differ diff --git a/Source_graphics/img/guides/pythontutor.png b/Source_graphics/img/guides/pythontutor.png new file mode 100644 index 00000000..bc7efbe9 Binary files /dev/null and b/Source_graphics/img/guides/pythontutor.png differ diff --git a/Source_graphics/img/guides/reorder.png b/Source_graphics/img/guides/reorder.png new file mode 100644 index 00000000..d60742a9 Binary files /dev/null and b/Source_graphics/img/guides/reorder.png differ diff --git a/Source_graphics/img/guides/reset.png b/Source_graphics/img/guides/reset.png new file mode 100644 index 00000000..7e59887a Binary files /dev/null and b/Source_graphics/img/guides/reset.png differ diff --git a/Source_graphics/img/guides/scripts.png b/Source_graphics/img/guides/scripts.png new file mode 100644 index 00000000..68edfc2e Binary files /dev/null and b/Source_graphics/img/guides/scripts.png differ diff --git a/Source_graphics/img/guides/selectcontent.png b/Source_graphics/img/guides/selectcontent.png new file mode 100644 index 00000000..5be5a98a Binary files /dev/null and b/Source_graphics/img/guides/selectcontent.png differ diff --git a/Source_graphics/img/guides/settings_assessments.png b/Source_graphics/img/guides/settings_assessments.png new file mode 100644 index 00000000..6527ab9d Binary files /dev/null and b/Source_graphics/img/guides/settings_assessments.png differ diff --git a/Source_graphics/img/guides/simultaneous.png b/Source_graphics/img/guides/simultaneous.png new file mode 100644 index 00000000..2ce6f0e1 Binary files /dev/null and b/Source_graphics/img/guides/simultaneous.png differ diff --git a/Source_graphics/img/guides/split-button.png b/Source_graphics/img/guides/split-button.png new file mode 100644 index 00000000..14ee4306 Binary files /dev/null and b/Source_graphics/img/guides/split-button.png differ diff --git a/Source_graphics/img/guides/startguides.png b/Source_graphics/img/guides/startguides.png new file mode 100644 index 00000000..88dc1dad Binary files /dev/null and b/Source_graphics/img/guides/startguides.png differ diff --git a/Source_graphics/img/guides/std-assessment-1.png b/Source_graphics/img/guides/std-assessment-1.png new file mode 100644 index 00000000..7f731701 Binary files /dev/null and b/Source_graphics/img/guides/std-assessment-1.png differ diff --git a/Source_graphics/img/guides/std-assessment-args.png b/Source_graphics/img/guides/std-assessment-args.png new file mode 100644 index 00000000..47518806 Binary files /dev/null and b/Source_graphics/img/guides/std-assessment-args.png differ diff --git a/Source_graphics/img/guides/std-assessment-error.png b/Source_graphics/img/guides/std-assessment-error.png new file mode 100644 index 00000000..6fae3002 Binary files /dev/null and b/Source_graphics/img/guides/std-assessment-error.png differ diff --git a/Source_graphics/img/guides/std-assessment-stdin-ignore.png b/Source_graphics/img/guides/std-assessment-stdin-ignore.png new file mode 100644 index 00000000..3152b770 Binary files /dev/null and b/Source_graphics/img/guides/std-assessment-stdin-ignore.png differ diff --git a/Source_graphics/img/guides/std-assessment-stdin.png b/Source_graphics/img/guides/std-assessment-stdin.png new file mode 100644 index 00000000..f88f0179 Binary files /dev/null and b/Source_graphics/img/guides/std-assessment-stdin.png differ diff --git a/Source_graphics/img/guides/studentplaymode.png b/Source_graphics/img/guides/studentplaymode.png new file mode 100644 index 00000000..7a2e73f2 Binary files /dev/null and b/Source_graphics/img/guides/studentplaymode.png differ diff --git a/Source_graphics/img/guides/terminal_command.png b/Source_graphics/img/guides/terminal_command.png new file mode 100644 index 00000000..6a170bd0 Binary files /dev/null and b/Source_graphics/img/guides/terminal_command.png differ diff --git a/Source_graphics/img/guides/type_file.png b/Source_graphics/img/guides/type_file.png new file mode 100644 index 00000000..a524b88a Binary files /dev/null and b/Source_graphics/img/guides/type_file.png differ diff --git a/Source_graphics/img/guides/type_highlight.png b/Source_graphics/img/guides/type_highlight.png new file mode 100644 index 00000000..294bf1c6 Binary files /dev/null and b/Source_graphics/img/guides/type_highlight.png differ diff --git a/Source_graphics/img/guides/type_preview.png b/Source_graphics/img/guides/type_preview.png new file mode 100644 index 00000000..2dcb6d5e Binary files /dev/null and b/Source_graphics/img/guides/type_preview.png differ diff --git a/Source_graphics/img/guides/type_terminal.png b/Source_graphics/img/guides/type_terminal.png new file mode 100644 index 00000000..8b9b5a22 Binary files /dev/null and b/Source_graphics/img/guides/type_terminal.png differ diff --git a/Source_graphics/img/guideseditor.png b/Source_graphics/img/guideseditor.png new file mode 100644 index 00000000..145fdc16 Binary files /dev/null and b/Source_graphics/img/guideseditor.png differ diff --git a/Source_graphics/img/guioutput.png b/Source_graphics/img/guioutput.png new file mode 100644 index 00000000..229c2a89 Binary files /dev/null and b/Source_graphics/img/guioutput.png differ diff --git a/Source_graphics/img/ide-force-lang.png b/Source_graphics/img/ide-force-lang.png new file mode 100644 index 00000000..c47c061a Binary files /dev/null and b/Source_graphics/img/ide-force-lang.png differ diff --git a/Source_graphics/img/ide-indent-guides.png b/Source_graphics/img/ide-indent-guides.png new file mode 100644 index 00000000..8a22f0a1 Binary files /dev/null and b/Source_graphics/img/ide-indent-guides.png differ diff --git a/Source_graphics/img/ide-invisibles.png b/Source_graphics/img/ide-invisibles.png new file mode 100644 index 00000000..a24a2d60 Binary files /dev/null and b/Source_graphics/img/ide-invisibles.png differ diff --git a/Source_graphics/img/ide-run.png b/Source_graphics/img/ide-run.png new file mode 100644 index 00000000..01dae242 Binary files /dev/null and b/Source_graphics/img/ide-run.png differ diff --git a/Source_graphics/img/ide-screen.png b/Source_graphics/img/ide-screen.png new file mode 100644 index 00000000..a25138d0 Binary files /dev/null and b/Source_graphics/img/ide-screen.png differ diff --git a/Source_graphics/img/import.png b/Source_graphics/img/import.png new file mode 100644 index 00000000..6f60568c Binary files /dev/null and b/Source_graphics/img/import.png differ diff --git a/Source_graphics/img/inline-preview.png b/Source_graphics/img/inline-preview.png new file mode 100644 index 00000000..8eb51706 Binary files /dev/null and b/Source_graphics/img/inline-preview.png differ diff --git a/Source_graphics/img/install-software.png b/Source_graphics/img/install-software.png new file mode 100644 index 00000000..9c794df2 Binary files /dev/null and b/Source_graphics/img/install-software.png differ diff --git a/Source_graphics/img/install-sw-g2.png b/Source_graphics/img/install-sw-g2.png new file mode 100644 index 00000000..3b75ff96 Binary files /dev/null and b/Source_graphics/img/install-sw-g2.png differ diff --git a/Source_graphics/img/intercom.png b/Source_graphics/img/intercom.png new file mode 100644 index 00000000..f5c3e4f4 Binary files /dev/null and b/Source_graphics/img/intercom.png differ diff --git a/Source_graphics/img/intercomnotification.png b/Source_graphics/img/intercomnotification.png new file mode 100644 index 00000000..ac69ee9d Binary files /dev/null and b/Source_graphics/img/intercomnotification.png differ diff --git a/Source_graphics/img/intercomstart.png b/Source_graphics/img/intercomstart.png new file mode 100644 index 00000000..e077fcdc Binary files /dev/null and b/Source_graphics/img/intercomstart.png differ diff --git a/Source_graphics/img/introprogramming.png b/Source_graphics/img/introprogramming.png new file mode 100644 index 00000000..c60c64e3 Binary files /dev/null and b/Source_graphics/img/introprogramming.png differ diff --git a/Source_graphics/img/joinclass.png b/Source_graphics/img/joinclass.png new file mode 100644 index 00000000..c723baf7 Binary files /dev/null and b/Source_graphics/img/joinclass.png differ diff --git a/Source_graphics/img/junit.png b/Source_graphics/img/junit.png new file mode 100644 index 00000000..fb21b9c2 Binary files /dev/null and b/Source_graphics/img/junit.png differ diff --git a/Source_graphics/img/junitexecution.png b/Source_graphics/img/junitexecution.png new file mode 100644 index 00000000..82c74487 Binary files /dev/null and b/Source_graphics/img/junitexecution.png differ diff --git a/Source_graphics/img/junitsettings.png b/Source_graphics/img/junitsettings.png new file mode 100644 index 00000000..ad2aafea Binary files /dev/null and b/Source_graphics/img/junitsettings.png differ diff --git a/Source_graphics/img/kb-shortcuts.png b/Source_graphics/img/kb-shortcuts.png new file mode 100644 index 00000000..28f21583 Binary files /dev/null and b/Source_graphics/img/kb-shortcuts.png differ diff --git a/Source_graphics/img/lexicon.png b/Source_graphics/img/lexicon.png new file mode 100644 index 00000000..8c145bfe Binary files /dev/null and b/Source_graphics/img/lexicon.png differ diff --git a/Source_graphics/img/librarypermissions.png b/Source_graphics/img/librarypermissions.png new file mode 100644 index 00000000..b745e240 Binary files /dev/null and b/Source_graphics/img/librarypermissions.png differ diff --git a/Source_graphics/img/librarysettings.png b/Source_graphics/img/librarysettings.png new file mode 100644 index 00000000..3c7815e0 Binary files /dev/null and b/Source_graphics/img/librarysettings.png differ diff --git a/Source_graphics/img/librarytab.png b/Source_graphics/img/librarytab.png new file mode 100644 index 00000000..c7d86497 Binary files /dev/null and b/Source_graphics/img/librarytab.png differ diff --git a/Source_graphics/img/lmssharedfeedback.png b/Source_graphics/img/lmssharedfeedback.png new file mode 100644 index 00000000..425e79c6 Binary files /dev/null and b/Source_graphics/img/lmssharedfeedback.png differ diff --git a/Source_graphics/img/lti/LMS-Unit-URL.png b/Source_graphics/img/lti/LMS-Unit-URL.png new file mode 100644 index 00000000..9784f06f Binary files /dev/null and b/Source_graphics/img/lti/LMS-Unit-URL.png differ diff --git a/Source_graphics/img/lti/access-code.png b/Source_graphics/img/lti/access-code.png new file mode 100644 index 00000000..35338988 Binary files /dev/null and b/Source_graphics/img/lti/access-code.png differ diff --git a/Source_graphics/img/lti/account-organization.png b/Source_graphics/img/lti/account-organization.png new file mode 100644 index 00000000..2e3c14e8 Binary files /dev/null and b/Source_graphics/img/lti/account-organization.png differ diff --git a/Source_graphics/img/lti/account-personal.png b/Source_graphics/img/lti/account-personal.png new file mode 100644 index 00000000..74a269d5 Binary files /dev/null and b/Source_graphics/img/lti/account-personal.png differ diff --git a/Source_graphics/img/lti/add-class-teacher.png b/Source_graphics/img/lti/add-class-teacher.png new file mode 100644 index 00000000..8ddd27bb Binary files /dev/null and b/Source_graphics/img/lti/add-class-teacher.png differ diff --git a/Source_graphics/img/lti/add-student.png b/Source_graphics/img/lti/add-student.png new file mode 100644 index 00000000..1d62dbdc Binary files /dev/null and b/Source_graphics/img/lti/add-student.png differ diff --git a/Source_graphics/img/lti/add-unit-project.png b/Source_graphics/img/lti/add-unit-project.png new file mode 100644 index 00000000..e5dc88eb Binary files /dev/null and b/Source_graphics/img/lti/add-unit-project.png differ diff --git a/Source_graphics/img/lti/appcenter.png b/Source_graphics/img/lti/appcenter.png new file mode 100644 index 00000000..c57a163e Binary files /dev/null and b/Source_graphics/img/lti/appcenter.png differ diff --git a/Source_graphics/img/lti/appsetup.png b/Source_graphics/img/lti/appsetup.png new file mode 100644 index 00000000..e2d0c869 Binary files /dev/null and b/Source_graphics/img/lti/appsetup.png differ diff --git a/Source_graphics/img/lti/canvas-global.png b/Source_graphics/img/lti/canvas-global.png new file mode 100644 index 00000000..eef1f16d Binary files /dev/null and b/Source_graphics/img/lti/canvas-global.png differ diff --git a/Source_graphics/img/lti/canvas-submission-type.png b/Source_graphics/img/lti/canvas-submission-type.png new file mode 100644 index 00000000..d81d274e Binary files /dev/null and b/Source_graphics/img/lti/canvas-submission-type.png differ diff --git a/Source_graphics/img/lti/canvas_url.png b/Source_graphics/img/lti/canvas_url.png new file mode 100644 index 00000000..86e69459 Binary files /dev/null and b/Source_graphics/img/lti/canvas_url.png differ diff --git a/Source_graphics/img/lti/class_fork.png b/Source_graphics/img/lti/class_fork.png new file mode 100644 index 00000000..529ea272 Binary files /dev/null and b/Source_graphics/img/lti/class_fork.png differ diff --git a/Source_graphics/img/lti/classunits.png b/Source_graphics/img/lti/classunits.png new file mode 100644 index 00000000..63402e92 Binary files /dev/null and b/Source_graphics/img/lti/classunits.png differ diff --git a/Source_graphics/img/lti/codioicon.png b/Source_graphics/img/lti/codioicon.png new file mode 100644 index 00000000..88f1bc13 Binary files /dev/null and b/Source_graphics/img/lti/codioicon.png differ diff --git a/Source_graphics/img/lti/constant_url.png b/Source_graphics/img/lti/constant_url.png new file mode 100644 index 00000000..e827ca23 Binary files /dev/null and b/Source_graphics/img/lti/constant_url.png differ diff --git a/Source_graphics/img/lti/copy_course.png b/Source_graphics/img/lti/copy_course.png new file mode 100644 index 00000000..8666c724 Binary files /dev/null and b/Source_graphics/img/lti/copy_course.png differ diff --git a/Source_graphics/img/lti/custom-menus.png b/Source_graphics/img/lti/custom-menus.png new file mode 100644 index 00000000..05798cdd Binary files /dev/null and b/Source_graphics/img/lti/custom-menus.png differ diff --git a/Source_graphics/img/lti/debugger.png b/Source_graphics/img/lti/debugger.png new file mode 100644 index 00000000..fe73d83d Binary files /dev/null and b/Source_graphics/img/lti/debugger.png differ diff --git a/Source_graphics/img/lti/enable_class_fork.png b/Source_graphics/img/lti/enable_class_fork.png new file mode 100644 index 00000000..31743f60 Binary files /dev/null and b/Source_graphics/img/lti/enable_class_fork.png differ diff --git a/Source_graphics/img/lti/fork.png b/Source_graphics/img/lti/fork.png new file mode 100644 index 00000000..dbac75db Binary files /dev/null and b/Source_graphics/img/lti/fork.png differ diff --git a/Source_graphics/img/lti/fork_class_id.png b/Source_graphics/img/lti/fork_class_id.png new file mode 100644 index 00000000..cc912609 Binary files /dev/null and b/Source_graphics/img/lti/fork_class_id.png differ diff --git a/Source_graphics/img/lti/install-software.png b/Source_graphics/img/lti/install-software.png new file mode 100644 index 00000000..92528a31 Binary files /dev/null and b/Source_graphics/img/lti/install-software.png differ diff --git a/Source_graphics/img/lti/join-class.png b/Source_graphics/img/lti/join-class.png new file mode 100644 index 00000000..c744ca38 Binary files /dev/null and b/Source_graphics/img/lti/join-class.png differ diff --git a/Source_graphics/img/lti/joined-class.png b/Source_graphics/img/lti/joined-class.png new file mode 100644 index 00000000..ce2f22e3 Binary files /dev/null and b/Source_graphics/img/lti/joined-class.png differ diff --git a/Source_graphics/img/lti/lti-class-url.png b/Source_graphics/img/lti/lti-class-url.png new file mode 100644 index 00000000..8a9fa2cf Binary files /dev/null and b/Source_graphics/img/lti/lti-class-url.png differ diff --git a/Source_graphics/img/lti/lti-org-fields.png b/Source_graphics/img/lti/lti-org-fields.png new file mode 100644 index 00000000..e75384fb Binary files /dev/null and b/Source_graphics/img/lti/lti-org-fields.png differ diff --git a/Source_graphics/img/lti/lti_integrate_info.png b/Source_graphics/img/lti/lti_integrate_info.png new file mode 100644 index 00000000..d7995c32 Binary files /dev/null and b/Source_graphics/img/lti/lti_integrate_info.png differ diff --git a/Source_graphics/img/lti/lti_integrate_url.png b/Source_graphics/img/lti/lti_integrate_url.png new file mode 100644 index 00000000..0e55b2a7 Binary files /dev/null and b/Source_graphics/img/lti/lti_integrate_url.png differ diff --git a/Source_graphics/img/lti/multiple-panels.png b/Source_graphics/img/lti/multiple-panels.png new file mode 100644 index 00000000..3c5160e5 Binary files /dev/null and b/Source_graphics/img/lti/multiple-panels.png differ diff --git a/Source_graphics/img/lti/new-class.png b/Source_graphics/img/lti/new-class.png new file mode 100644 index 00000000..75fa6279 Binary files /dev/null and b/Source_graphics/img/lti/new-class.png differ diff --git a/Source_graphics/img/lti/new-project.png b/Source_graphics/img/lti/new-project.png new file mode 100644 index 00000000..a560def9 Binary files /dev/null and b/Source_graphics/img/lti/new-project.png differ diff --git a/Source_graphics/img/lti/parent_class.png b/Source_graphics/img/lti/parent_class.png new file mode 100644 index 00000000..02ebb284 Binary files /dev/null and b/Source_graphics/img/lti/parent_class.png differ diff --git a/Source_graphics/img/lti/pin-unit.png b/Source_graphics/img/lti/pin-unit.png new file mode 100644 index 00000000..130a89cf Binary files /dev/null and b/Source_graphics/img/lti/pin-unit.png differ diff --git a/Source_graphics/img/lti/preferences.png b/Source_graphics/img/lti/preferences.png new file mode 100644 index 00000000..1bcd0260 Binary files /dev/null and b/Source_graphics/img/lti/preferences.png differ diff --git a/Source_graphics/img/lti/project-permissions.png b/Source_graphics/img/lti/project-permissions.png new file mode 100644 index 00000000..929611ba Binary files /dev/null and b/Source_graphics/img/lti/project-permissions.png differ diff --git a/Source_graphics/img/lti/project-settings.png b/Source_graphics/img/lti/project-settings.png new file mode 100644 index 00000000..e4723382 Binary files /dev/null and b/Source_graphics/img/lti/project-settings.png differ diff --git a/Source_graphics/img/lti/release-complete.png b/Source_graphics/img/lti/release-complete.png new file mode 100644 index 00000000..6ef8bca2 Binary files /dev/null and b/Source_graphics/img/lti/release-complete.png differ diff --git a/Source_graphics/img/lti/release-grades.png b/Source_graphics/img/lti/release-grades.png new file mode 100644 index 00000000..6df4372a Binary files /dev/null and b/Source_graphics/img/lti/release-grades.png differ diff --git a/Source_graphics/img/lti/student-ready.png b/Source_graphics/img/lti/student-ready.png new file mode 100644 index 00000000..8cdc93f2 Binary files /dev/null and b/Source_graphics/img/lti/student-ready.png differ diff --git a/Source_graphics/img/lti/students-unit.png b/Source_graphics/img/lti/students-unit.png new file mode 100644 index 00000000..e05380ee Binary files /dev/null and b/Source_graphics/img/lti/students-unit.png differ diff --git a/Source_graphics/img/lti/terminal-python.png b/Source_graphics/img/lti/terminal-python.png new file mode 100644 index 00000000..565ffc0b Binary files /dev/null and b/Source_graphics/img/lti/terminal-python.png differ diff --git a/Source_graphics/img/lti/test-students-list.png b/Source_graphics/img/lti/test-students-list.png new file mode 100644 index 00000000..27e693cd Binary files /dev/null and b/Source_graphics/img/lti/test-students-list.png differ diff --git a/Source_graphics/img/lti/unit-completed-teacher.png b/Source_graphics/img/lti/unit-completed-teacher.png new file mode 100644 index 00000000..904bf364 Binary files /dev/null and b/Source_graphics/img/lti/unit-completed-teacher.png differ diff --git a/Source_graphics/img/lti/unit-completed.png b/Source_graphics/img/lti/unit-completed.png new file mode 100644 index 00000000..8caa1946 Binary files /dev/null and b/Source_graphics/img/lti/unit-completed.png differ diff --git a/Source_graphics/img/lti/unit-teacher.png b/Source_graphics/img/lti/unit-teacher.png new file mode 100644 index 00000000..45218ba8 Binary files /dev/null and b/Source_graphics/img/lti/unit-teacher.png differ diff --git a/Source_graphics/img/lti/virtual-desktop.png b/Source_graphics/img/lti/virtual-desktop.png new file mode 100644 index 00000000..ffd2ae4d Binary files /dev/null and b/Source_graphics/img/lti/virtual-desktop.png differ diff --git a/Source_graphics/img/manage_classes/addchild.png b/Source_graphics/img/manage_classes/addchild.png new file mode 100644 index 00000000..40b7536b Binary files /dev/null and b/Source_graphics/img/manage_classes/addchild.png differ diff --git a/Source_graphics/img/manage_classes/addcopy.png b/Source_graphics/img/manage_classes/addcopy.png new file mode 100644 index 00000000..1cab0be2 Binary files /dev/null and b/Source_graphics/img/manage_classes/addcopy.png differ diff --git a/Source_graphics/img/manage_classes/adding_students_invite/student_list.png b/Source_graphics/img/manage_classes/adding_students_invite/student_list.png new file mode 100644 index 00000000..54be3a4f Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_students_invite/student_list.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/add_teacher.png b/Source_graphics/img/manage_classes/adding_teachers/add_teacher.png new file mode 100644 index 00000000..45cf78ce Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/add_teacher.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/admin_tab.png b/Source_graphics/img/manage_classes/adding_teachers/admin_tab.png new file mode 100644 index 00000000..0af8e538 Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/admin_tab.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/coursereadonly.png b/Source_graphics/img/manage_classes/adding_teachers/coursereadonly.png new file mode 100644 index 00000000..2a3772cc Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/coursereadonly.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/edit_teachers.png b/Source_graphics/img/manage_classes/adding_teachers/edit_teachers.png new file mode 100644 index 00000000..b0179299 Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/edit_teachers.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/inviteteacher.png b/Source_graphics/img/manage_classes/adding_teachers/inviteteacher.png new file mode 100644 index 00000000..3d24e7ec Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/inviteteacher.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/search_teacher.png b/Source_graphics/img/manage_classes/adding_teachers/search_teacher.png new file mode 100644 index 00000000..b2c4b1d7 Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/search_teacher.png differ diff --git a/Source_graphics/img/manage_classes/adding_teachers/teacher_added.png b/Source_graphics/img/manage_classes/adding_teachers/teacher_added.png new file mode 100644 index 00000000..1bd0f969 Binary files /dev/null and b/Source_graphics/img/manage_classes/adding_teachers/teacher_added.png differ diff --git a/Source_graphics/img/manage_classes/addstudents.png b/Source_graphics/img/manage_classes/addstudents.png new file mode 100644 index 00000000..64eb3668 Binary files /dev/null and b/Source_graphics/img/manage_classes/addstudents.png differ diff --git a/Source_graphics/img/manage_classes/assign_project_to_class/import.png b/Source_graphics/img/manage_classes/assign_project_to_class/import.png new file mode 100644 index 00000000..6f60568c Binary files /dev/null and b/Source_graphics/img/manage_classes/assign_project_to_class/import.png differ diff --git a/Source_graphics/img/manage_classes/assign_project_to_class/publish.png b/Source_graphics/img/manage_classes/assign_project_to_class/publish.png new file mode 100644 index 00000000..ee60b2d0 Binary files /dev/null and b/Source_graphics/img/manage_classes/assign_project_to_class/publish.png differ diff --git a/Source_graphics/img/manage_classes/assigning_cm_content/module_in_class.png b/Source_graphics/img/manage_classes/assigning_cm_content/module_in_class.png new file mode 100644 index 00000000..7884bdc0 Binary files /dev/null and b/Source_graphics/img/manage_classes/assigning_cm_content/module_in_class.png differ diff --git a/Source_graphics/img/manage_classes/assigning_cm_content/recommended_tab.png b/Source_graphics/img/manage_classes/assigning_cm_content/recommended_tab.png new file mode 100644 index 00000000..8cbf2ee1 Binary files /dev/null and b/Source_graphics/img/manage_classes/assigning_cm_content/recommended_tab.png differ diff --git a/Source_graphics/img/manage_classes/assigning_cm_content/select_module.png b/Source_graphics/img/manage_classes/assigning_cm_content/select_module.png new file mode 100644 index 00000000..89a7f435 Binary files /dev/null and b/Source_graphics/img/manage_classes/assigning_cm_content/select_module.png differ diff --git a/Source_graphics/img/manage_classes/blue_plus.png b/Source_graphics/img/manage_classes/blue_plus.png new file mode 100644 index 00000000..26ea2099 Binary files /dev/null and b/Source_graphics/img/manage_classes/blue_plus.png differ diff --git a/Source_graphics/img/manage_classes/change_student_password/change_password.png b/Source_graphics/img/manage_classes/change_student_password/change_password.png new file mode 100644 index 00000000..3f687d70 Binary files /dev/null and b/Source_graphics/img/manage_classes/change_student_password/change_password.png differ diff --git a/Source_graphics/img/manage_classes/cloneclass.png b/Source_graphics/img/manage_classes/cloneclass.png new file mode 100644 index 00000000..f469d42f Binary files /dev/null and b/Source_graphics/img/manage_classes/cloneclass.png differ diff --git a/Source_graphics/img/manage_classes/codioresources.png b/Source_graphics/img/manage_classes/codioresources.png new file mode 100644 index 00000000..3889fab4 Binary files /dev/null and b/Source_graphics/img/manage_classes/codioresources.png differ diff --git a/Source_graphics/img/manage_classes/copyfromexisting.png b/Source_graphics/img/manage_classes/copyfromexisting.png new file mode 100644 index 00000000..2d4569da Binary files /dev/null and b/Source_graphics/img/manage_classes/copyfromexisting.png differ diff --git a/Source_graphics/img/manage_classes/create_class/codio_icon.png b/Source_graphics/img/manage_classes/create_class/codio_icon.png new file mode 100644 index 00000000..6a3068b2 Binary files /dev/null and b/Source_graphics/img/manage_classes/create_class/codio_icon.png differ diff --git a/Source_graphics/img/manage_classes/create_class/new-class.png b/Source_graphics/img/manage_classes/create_class/new-class.png new file mode 100644 index 00000000..1650bd3f Binary files /dev/null and b/Source_graphics/img/manage_classes/create_class/new-class.png differ diff --git a/Source_graphics/img/manage_classes/createfromresources.png b/Source_graphics/img/manage_classes/createfromresources.png new file mode 100644 index 00000000..ac6797d0 Binary files /dev/null and b/Source_graphics/img/manage_classes/createfromresources.png differ diff --git a/Source_graphics/img/manage_classes/createsharecode.png b/Source_graphics/img/manage_classes/createsharecode.png new file mode 100644 index 00000000..a9b3d26b Binary files /dev/null and b/Source_graphics/img/manage_classes/createsharecode.png differ diff --git a/Source_graphics/img/manage_classes/deleteassignment.png b/Source_graphics/img/manage_classes/deleteassignment.png new file mode 100644 index 00000000..23030c1f Binary files /dev/null and b/Source_graphics/img/manage_classes/deleteassignment.png differ diff --git a/Source_graphics/img/manage_classes/deletemodule.png b/Source_graphics/img/manage_classes/deletemodule.png new file mode 100644 index 00000000..3a1a3a20 Binary files /dev/null and b/Source_graphics/img/manage_classes/deletemodule.png differ diff --git a/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit.png b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit.png new file mode 100644 index 00000000..89402dec Binary files /dev/null and b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit.png differ diff --git a/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_after.png b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_after.png new file mode 100644 index 00000000..f424fd23 Binary files /dev/null and b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_after.png differ diff --git a/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_settings.png b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_settings.png new file mode 100644 index 00000000..dd6e5a2c Binary files /dev/null and b/Source_graphics/img/manage_classes/disable_enable_unit/disable_unit_settings.png differ diff --git a/Source_graphics/img/manage_classes/disable_enable_unit/enable_unit.png b/Source_graphics/img/manage_classes/disable_enable_unit/enable_unit.png new file mode 100644 index 00000000..e0df0037 Binary files /dev/null and b/Source_graphics/img/manage_classes/disable_enable_unit/enable_unit.png differ diff --git a/Source_graphics/img/manage_classes/maincloneclass.png b/Source_graphics/img/manage_classes/maincloneclass.png new file mode 100644 index 00000000..eed3e764 Binary files /dev/null and b/Source_graphics/img/manage_classes/maincloneclass.png differ diff --git a/Source_graphics/img/manage_classes/nameclass.png b/Source_graphics/img/manage_classes/nameclass.png new file mode 100644 index 00000000..41c6c9a0 Binary files /dev/null and b/Source_graphics/img/manage_classes/nameclass.png differ diff --git a/Source_graphics/img/manage_classes/orderclass.png b/Source_graphics/img/manage_classes/orderclass.png new file mode 100644 index 00000000..a4477bf8 Binary files /dev/null and b/Source_graphics/img/manage_classes/orderclass.png differ diff --git a/Source_graphics/img/manage_classes/pinning_a_unit/pin_unit.png b/Source_graphics/img/manage_classes/pinning_a_unit/pin_unit.png new file mode 100644 index 00000000..fe75ef9e Binary files /dev/null and b/Source_graphics/img/manage_classes/pinning_a_unit/pin_unit.png differ diff --git a/Source_graphics/img/manage_classes/pinning_a_unit/pinned_pink.png b/Source_graphics/img/manage_classes/pinning_a_unit/pinned_pink.png new file mode 100644 index 00000000..cf23f3cc Binary files /dev/null and b/Source_graphics/img/manage_classes/pinning_a_unit/pinned_pink.png differ diff --git a/Source_graphics/img/manage_classes/pinning_a_unit/pinnedunit.png b/Source_graphics/img/manage_classes/pinning_a_unit/pinnedunit.png new file mode 100644 index 00000000..0a56d9ef Binary files /dev/null and b/Source_graphics/img/manage_classes/pinning_a_unit/pinnedunit.png differ diff --git a/Source_graphics/img/manage_classes/previewassignment.png b/Source_graphics/img/manage_classes/previewassignment.png new file mode 100644 index 00000000..3895acee Binary files /dev/null and b/Source_graphics/img/manage_classes/previewassignment.png differ diff --git a/Source_graphics/img/manage_classes/pull.png b/Source_graphics/img/manage_classes/pull.png new file mode 100644 index 00000000..5595bb79 Binary files /dev/null and b/Source_graphics/img/manage_classes/pull.png differ diff --git a/Source_graphics/img/manage_classes/pullall.png b/Source_graphics/img/manage_classes/pullall.png new file mode 100644 index 00000000..dca15d01 Binary files /dev/null and b/Source_graphics/img/manage_classes/pullall.png differ diff --git a/Source_graphics/img/manage_classes/readonly.png b/Source_graphics/img/manage_classes/readonly.png new file mode 100644 index 00000000..761e50f9 Binary files /dev/null and b/Source_graphics/img/manage_classes/readonly.png differ diff --git a/Source_graphics/img/manage_classes/remove_student.png b/Source_graphics/img/manage_classes/remove_student.png new file mode 100644 index 00000000..f7a3b1f3 Binary files /dev/null and b/Source_graphics/img/manage_classes/remove_student.png differ diff --git a/Source_graphics/img/manage_classes/sharecode.png b/Source_graphics/img/manage_classes/sharecode.png new file mode 100644 index 00000000..e3324789 Binary files /dev/null and b/Source_graphics/img/manage_classes/sharecode.png differ diff --git a/Source_graphics/img/manage_classes/students_tab.png b/Source_graphics/img/manage_classes/students_tab.png new file mode 100644 index 00000000..03e6b5f1 Binary files /dev/null and b/Source_graphics/img/manage_classes/students_tab.png differ diff --git a/Source_graphics/img/manage_classes/unitduration.png b/Source_graphics/img/manage_classes/unitduration.png new file mode 100644 index 00000000..d3252865 Binary files /dev/null and b/Source_graphics/img/manage_classes/unitduration.png differ diff --git a/Source_graphics/img/manage_classes/units_tab.png b/Source_graphics/img/manage_classes/units_tab.png new file mode 100644 index 00000000..9ce633a8 Binary files /dev/null and b/Source_graphics/img/manage_classes/units_tab.png differ diff --git a/Source_graphics/img/manage_classes/updatedialog.png b/Source_graphics/img/manage_classes/updatedialog.png new file mode 100644 index 00000000..e3aa2bf2 Binary files /dev/null and b/Source_graphics/img/manage_classes/updatedialog.png differ diff --git a/Source_graphics/img/manage_classes/view_teacher_solutions/open_as_teacher.png b/Source_graphics/img/manage_classes/view_teacher_solutions/open_as_teacher.png new file mode 100644 index 00000000..3e1759c4 Binary files /dev/null and b/Source_graphics/img/manage_classes/view_teacher_solutions/open_as_teacher.png differ diff --git a/Source_graphics/img/manage_classes/year_10_class.png b/Source_graphics/img/manage_classes/year_10_class.png new file mode 100644 index 00000000..f276aa53 Binary files /dev/null and b/Source_graphics/img/manage_classes/year_10_class.png differ diff --git a/Source_graphics/img/manage_organization/customscript.png b/Source_graphics/img/manage_organization/customscript.png new file mode 100644 index 00000000..6a3d95a5 Binary files /dev/null and b/Source_graphics/img/manage_organization/customscript.png differ diff --git a/Source_graphics/img/manage_organization/dash.png b/Source_graphics/img/manage_organization/dash.png new file mode 100644 index 00000000..fc2ad1d1 Binary files /dev/null and b/Source_graphics/img/manage_organization/dash.png differ diff --git a/Source_graphics/img/manage_organization/inviteowner.png b/Source_graphics/img/manage_organization/inviteowner.png new file mode 100644 index 00000000..cedef587 Binary files /dev/null and b/Source_graphics/img/manage_organization/inviteowner.png differ diff --git a/Source_graphics/img/manage_organization/inviteteacher.png b/Source_graphics/img/manage_organization/inviteteacher.png new file mode 100644 index 00000000..abcfdfb5 Binary files /dev/null and b/Source_graphics/img/manage_organization/inviteteacher.png differ diff --git a/Source_graphics/img/manage_organization/members.png b/Source_graphics/img/manage_organization/members.png new file mode 100644 index 00000000..c7d22c09 Binary files /dev/null and b/Source_graphics/img/manage_organization/members.png differ diff --git a/Source_graphics/img/manage_organization/memberstab.png b/Source_graphics/img/manage_organization/memberstab.png new file mode 100644 index 00000000..6f54601b Binary files /dev/null and b/Source_graphics/img/manage_organization/memberstab.png differ diff --git a/Source_graphics/img/manage_organization/myschoolorg.png b/Source_graphics/img/manage_organization/myschoolorg.png new file mode 100644 index 00000000..5e19f5e5 Binary files /dev/null and b/Source_graphics/img/manage_organization/myschoolorg.png differ diff --git a/Source_graphics/img/manage_organization/org_releasegrades.png b/Source_graphics/img/manage_organization/org_releasegrades.png new file mode 100644 index 00000000..0ccd1be7 Binary files /dev/null and b/Source_graphics/img/manage_organization/org_releasegrades.png differ diff --git a/Source_graphics/img/manage_organization/orgcontacturl.png b/Source_graphics/img/manage_organization/orgcontacturl.png new file mode 100644 index 00000000..1a36e9af Binary files /dev/null and b/Source_graphics/img/manage_organization/orgcontacturl.png differ diff --git a/Source_graphics/img/manage_organization/orgreadonly.png b/Source_graphics/img/manage_organization/orgreadonly.png new file mode 100644 index 00000000..03e70eb7 Binary files /dev/null and b/Source_graphics/img/manage_organization/orgreadonly.png differ diff --git a/Source_graphics/img/manage_organization/orgsettingstab.png b/Source_graphics/img/manage_organization/orgsettingstab.png new file mode 100644 index 00000000..82a975b9 Binary files /dev/null and b/Source_graphics/img/manage_organization/orgsettingstab.png differ diff --git a/Source_graphics/img/manage_organization/orphanedusers.png b/Source_graphics/img/manage_organization/orphanedusers.png new file mode 100644 index 00000000..56b93dbc Binary files /dev/null and b/Source_graphics/img/manage_organization/orphanedusers.png differ diff --git a/Source_graphics/img/manage_organization/owners.png b/Source_graphics/img/manage_organization/owners.png new file mode 100644 index 00000000..8b3b6636 Binary files /dev/null and b/Source_graphics/img/manage_organization/owners.png differ diff --git a/Source_graphics/img/manage_organization/pendinginvite.png b/Source_graphics/img/manage_organization/pendinginvite.png new file mode 100644 index 00000000..26aa963b Binary files /dev/null and b/Source_graphics/img/manage_organization/pendinginvite.png differ diff --git a/Source_graphics/img/manage_organization/pendinginviteowner.png b/Source_graphics/img/manage_organization/pendinginviteowner.png new file mode 100644 index 00000000..5f358db1 Binary files /dev/null and b/Source_graphics/img/manage_organization/pendinginviteowner.png differ diff --git a/Source_graphics/img/manage_organization/profilepic.png b/Source_graphics/img/manage_organization/profilepic.png new file mode 100644 index 00000000..f3724872 Binary files /dev/null and b/Source_graphics/img/manage_organization/profilepic.png differ diff --git a/Source_graphics/img/manage_organization/public_private.png b/Source_graphics/img/manage_organization/public_private.png new file mode 100644 index 00000000..546a168f Binary files /dev/null and b/Source_graphics/img/manage_organization/public_private.png differ diff --git a/Source_graphics/img/manage_organization/studentoptions.png b/Source_graphics/img/manage_organization/studentoptions.png new file mode 100644 index 00000000..1fcb4319 Binary files /dev/null and b/Source_graphics/img/manage_organization/studentoptions.png differ diff --git a/Source_graphics/img/mark-complete.png b/Source_graphics/img/mark-complete.png new file mode 100644 index 00000000..5c29563c Binary files /dev/null and b/Source_graphics/img/mark-complete.png differ diff --git a/Source_graphics/img/mode-buttons.png b/Source_graphics/img/mode-buttons.png new file mode 100644 index 00000000..37d0c0e7 Binary files /dev/null and b/Source_graphics/img/mode-buttons.png differ diff --git a/Source_graphics/img/module_add.png b/Source_graphics/img/module_add.png new file mode 100644 index 00000000..81b7de56 Binary files /dev/null and b/Source_graphics/img/module_add.png differ diff --git a/Source_graphics/img/module_browser.png b/Source_graphics/img/module_browser.png new file mode 100644 index 00000000..11f5c422 Binary files /dev/null and b/Source_graphics/img/module_browser.png differ diff --git a/Source_graphics/img/module_browser_small.png b/Source_graphics/img/module_browser_small.png new file mode 100644 index 00000000..d8d379d0 Binary files /dev/null and b/Source_graphics/img/module_browser_small.png differ diff --git a/Source_graphics/img/module_list.png b/Source_graphics/img/module_list.png new file mode 100644 index 00000000..658ba970 Binary files /dev/null and b/Source_graphics/img/module_list.png differ diff --git a/Source_graphics/img/module_refresh.png b/Source_graphics/img/module_refresh.png new file mode 100644 index 00000000..3391b0bc Binary files /dev/null and b/Source_graphics/img/module_refresh.png differ diff --git a/Source_graphics/img/moduleedit.png b/Source_graphics/img/moduleedit.png new file mode 100644 index 00000000..1b60803d Binary files /dev/null and b/Source_graphics/img/moduleedit.png differ diff --git a/Source_graphics/img/moduleflode.png b/Source_graphics/img/moduleflode.png new file mode 100644 index 00000000..61dcb8d2 Binary files /dev/null and b/Source_graphics/img/moduleflode.png differ diff --git a/Source_graphics/img/modules.png b/Source_graphics/img/modules.png new file mode 100644 index 00000000..e6b5e0e1 Binary files /dev/null and b/Source_graphics/img/modules.png differ diff --git a/Source_graphics/img/modules_create.png b/Source_graphics/img/modules_create.png new file mode 100644 index 00000000..b8ac759f Binary files /dev/null and b/Source_graphics/img/modules_create.png differ diff --git a/Source_graphics/img/modules_edit.png b/Source_graphics/img/modules_edit.png new file mode 100644 index 00000000..52f62928 Binary files /dev/null and b/Source_graphics/img/modules_edit.png differ diff --git a/Source_graphics/img/moduleview_dashboard.png b/Source_graphics/img/moduleview_dashboard.png new file mode 100644 index 00000000..59a74592 Binary files /dev/null and b/Source_graphics/img/moduleview_dashboard.png differ diff --git a/Source_graphics/img/monitor_students/breakdown.png b/Source_graphics/img/monitor_students/breakdown.png new file mode 100644 index 00000000..8c53f3b2 Binary files /dev/null and b/Source_graphics/img/monitor_students/breakdown.png differ diff --git a/Source_graphics/img/monitor_students/cursorpresences.png b/Source_graphics/img/monitor_students/cursorpresences.png new file mode 100644 index 00000000..53789f3c Binary files /dev/null and b/Source_graphics/img/monitor_students/cursorpresences.png differ diff --git a/Source_graphics/img/monitor_students/students_tab.png b/Source_graphics/img/monitor_students/students_tab.png new file mode 100644 index 00000000..03e6b5f1 Binary files /dev/null and b/Source_graphics/img/monitor_students/students_tab.png differ diff --git a/Source_graphics/img/monitor_students/year10class.png b/Source_graphics/img/monitor_students/year10class.png new file mode 100644 index 00000000..f276aa53 Binary files /dev/null and b/Source_graphics/img/monitor_students/year10class.png differ diff --git a/Source_graphics/img/multi-cursor.png b/Source_graphics/img/multi-cursor.png new file mode 100644 index 00000000..609bd71d Binary files /dev/null and b/Source_graphics/img/multi-cursor.png differ diff --git a/Source_graphics/img/multiple-cursor.gif b/Source_graphics/img/multiple-cursor.gif new file mode 100644 index 00000000..62c7e4dc Binary files /dev/null and b/Source_graphics/img/multiple-cursor.gif differ diff --git a/Source_graphics/img/nameSearch.png b/Source_graphics/img/nameSearch.png new file mode 100644 index 00000000..453b58c1 Binary files /dev/null and b/Source_graphics/img/nameSearch.png differ diff --git a/Source_graphics/img/namelibrary.png b/Source_graphics/img/namelibrary.png new file mode 100644 index 00000000..e5b5110b Binary files /dev/null and b/Source_graphics/img/namelibrary.png differ diff --git a/Source_graphics/img/new-file.png b/Source_graphics/img/new-file.png new file mode 100644 index 00000000..69f2e993 Binary files /dev/null and b/Source_graphics/img/new-file.png differ diff --git a/Source_graphics/img/newbook.png b/Source_graphics/img/newbook.png new file mode 100644 index 00000000..9fd25cf2 Binary files /dev/null and b/Source_graphics/img/newbook.png differ diff --git a/Source_graphics/img/open-in-ide.png b/Source_graphics/img/open-in-ide.png new file mode 100644 index 00000000..46eba665 Binary files /dev/null and b/Source_graphics/img/open-in-ide.png differ diff --git a/Source_graphics/img/openguides.png b/Source_graphics/img/openguides.png new file mode 100644 index 00000000..47ecb9cf Binary files /dev/null and b/Source_graphics/img/openguides.png differ diff --git a/Source_graphics/img/openstudent.png b/Source_graphics/img/openstudent.png new file mode 100644 index 00000000..38a86210 Binary files /dev/null and b/Source_graphics/img/openstudent.png differ diff --git a/Source_graphics/img/org-button.png b/Source_graphics/img/org-button.png new file mode 100644 index 00000000..57089357 Binary files /dev/null and b/Source_graphics/img/org-button.png differ diff --git a/Source_graphics/img/organisation_addmanually.png b/Source_graphics/img/organisation_addmanually.png new file mode 100644 index 00000000..cc9a7c30 Binary files /dev/null and b/Source_graphics/img/organisation_addmanually.png differ diff --git a/Source_graphics/img/organisation_addowner.png b/Source_graphics/img/organisation_addowner.png new file mode 100644 index 00000000..a3fcb13a Binary files /dev/null and b/Source_graphics/img/organisation_addowner.png differ diff --git a/Source_graphics/img/organisation_addteacher.png b/Source_graphics/img/organisation_addteacher.png new file mode 100644 index 00000000..f5a36a83 Binary files /dev/null and b/Source_graphics/img/organisation_addteacher.png differ diff --git a/Source_graphics/img/organisation_upload.png b/Source_graphics/img/organisation_upload.png new file mode 100644 index 00000000..8ace41ce Binary files /dev/null and b/Source_graphics/img/organisation_upload.png differ diff --git a/Source_graphics/img/organisations_billing.png b/Source_graphics/img/organisations_billing.png new file mode 100644 index 00000000..fa2b0365 Binary files /dev/null and b/Source_graphics/img/organisations_billing.png differ diff --git a/Source_graphics/img/organisations_create.png b/Source_graphics/img/organisations_create.png new file mode 100644 index 00000000..c4e46101 Binary files /dev/null and b/Source_graphics/img/organisations_create.png differ diff --git a/Source_graphics/img/organisations_education.png b/Source_graphics/img/organisations_education.png new file mode 100644 index 00000000..9eda8672 Binary files /dev/null and b/Source_graphics/img/organisations_education.png differ diff --git a/Source_graphics/img/organisations_invoicing.png b/Source_graphics/img/organisations_invoicing.png new file mode 100644 index 00000000..9b10f84a Binary files /dev/null and b/Source_graphics/img/organisations_invoicing.png differ diff --git a/Source_graphics/img/organisations_token.png b/Source_graphics/img/organisations_token.png new file mode 100644 index 00000000..733454aa Binary files /dev/null and b/Source_graphics/img/organisations_token.png differ diff --git a/Source_graphics/img/orphanedstudents.png b/Source_graphics/img/orphanedstudents.png new file mode 100644 index 00000000..01553ca6 Binary files /dev/null and b/Source_graphics/img/orphanedstudents.png differ diff --git a/Source_graphics/img/packs_certified.png b/Source_graphics/img/packs_certified.png new file mode 100644 index 00000000..ca7b5995 Binary files /dev/null and b/Source_graphics/img/packs_certified.png differ diff --git a/Source_graphics/img/packs_info.png b/Source_graphics/img/packs_info.png new file mode 100644 index 00000000..f05b5393 Binary files /dev/null and b/Source_graphics/img/packs_info.png differ diff --git a/Source_graphics/img/packs_list.png b/Source_graphics/img/packs_list.png new file mode 100644 index 00000000..f19ca46d Binary files /dev/null and b/Source_graphics/img/packs_list.png differ diff --git a/Source_graphics/img/panel-overview.png b/Source_graphics/img/panel-overview.png new file mode 100644 index 00000000..abe9117a Binary files /dev/null and b/Source_graphics/img/panel-overview.png differ diff --git a/Source_graphics/img/parse-app.png b/Source_graphics/img/parse-app.png new file mode 100644 index 00000000..4c1176fe Binary files /dev/null and b/Source_graphics/img/parse-app.png differ diff --git a/Source_graphics/img/penalties.png b/Source_graphics/img/penalties.png new file mode 100644 index 00000000..f30ba96a Binary files /dev/null and b/Source_graphics/img/penalties.png differ diff --git a/Source_graphics/img/penaltydashboard.png b/Source_graphics/img/penaltydashboard.png new file mode 100644 index 00000000..2758ec77 Binary files /dev/null and b/Source_graphics/img/penaltydashboard.png differ diff --git a/Source_graphics/img/penaltydeadline.png b/Source_graphics/img/penaltydeadline.png new file mode 100644 index 00000000..fa53d94b Binary files /dev/null and b/Source_graphics/img/penaltydeadline.png differ diff --git a/Source_graphics/img/permissions-dlg.png b/Source_graphics/img/permissions-dlg.png new file mode 100644 index 00000000..e3a3d6a8 Binary files /dev/null and b/Source_graphics/img/permissions-dlg.png differ diff --git a/Source_graphics/img/permissions-menu.png b/Source_graphics/img/permissions-menu.png new file mode 100644 index 00000000..f2fab47a Binary files /dev/null and b/Source_graphics/img/permissions-menu.png differ diff --git a/Source_graphics/img/phonegap-token-help.gif b/Source_graphics/img/phonegap-token-help.gif new file mode 100644 index 00000000..852aeecd Binary files /dev/null and b/Source_graphics/img/phonegap-token-help.gif differ diff --git a/Source_graphics/img/phpbrew-phpinfo.png b/Source_graphics/img/phpbrew-phpinfo.png new file mode 100644 index 00000000..d9235aa2 Binary files /dev/null and b/Source_graphics/img/phpbrew-phpinfo.png differ diff --git a/Source_graphics/img/phpbrew-phpinfo2.png b/Source_graphics/img/phpbrew-phpinfo2.png new file mode 100644 index 00000000..4fae31c2 Binary files /dev/null and b/Source_graphics/img/phpbrew-phpinfo2.png differ diff --git a/Source_graphics/img/picker-1.png b/Source_graphics/img/picker-1.png new file mode 100644 index 00000000..5dbe9532 Binary files /dev/null and b/Source_graphics/img/picker-1.png differ diff --git a/Source_graphics/img/picker-2.png b/Source_graphics/img/picker-2.png new file mode 100644 index 00000000..d16ea7f7 Binary files /dev/null and b/Source_graphics/img/picker-2.png differ diff --git a/Source_graphics/img/pinned.png b/Source_graphics/img/pinned.png new file mode 100644 index 00000000..a76a5924 Binary files /dev/null and b/Source_graphics/img/pinned.png differ diff --git a/Source_graphics/img/ploneoutput.png b/Source_graphics/img/ploneoutput.png new file mode 100644 index 00000000..8ae1fada Binary files /dev/null and b/Source_graphics/img/ploneoutput.png differ diff --git a/Source_graphics/img/plonesite.png b/Source_graphics/img/plonesite.png new file mode 100644 index 00000000..19e7a003 Binary files /dev/null and b/Source_graphics/img/plonesite.png differ diff --git a/Source_graphics/img/prefs-ac-profile.png b/Source_graphics/img/prefs-ac-profile.png new file mode 100644 index 00000000..9e98e6fb Binary files /dev/null and b/Source_graphics/img/prefs-ac-profile.png differ diff --git a/Source_graphics/img/prefs-account-gh1.png b/Source_graphics/img/prefs-account-gh1.png new file mode 100644 index 00000000..a8aa8aa4 Binary files /dev/null and b/Source_graphics/img/prefs-account-gh1.png differ diff --git a/Source_graphics/img/prefs-account-ghauth.png b/Source_graphics/img/prefs-account-ghauth.png new file mode 100644 index 00000000..394800c5 Binary files /dev/null and b/Source_graphics/img/prefs-account-ghauth.png differ diff --git a/Source_graphics/img/prefs-account-password.png b/Source_graphics/img/prefs-account-password.png new file mode 100644 index 00000000..e69a5959 Binary files /dev/null and b/Source_graphics/img/prefs-account-password.png differ diff --git a/Source_graphics/img/prefs-account-profile.png b/Source_graphics/img/prefs-account-profile.png new file mode 100644 index 00000000..ab961b2e Binary files /dev/null and b/Source_graphics/img/prefs-account-profile.png differ diff --git a/Source_graphics/img/prefs-account-ssh-dialog.png b/Source_graphics/img/prefs-account-ssh-dialog.png new file mode 100644 index 00000000..733be29e Binary files /dev/null and b/Source_graphics/img/prefs-account-ssh-dialog.png differ diff --git a/Source_graphics/img/prefs-account-ssh.png b/Source_graphics/img/prefs-account-ssh.png new file mode 100644 index 00000000..f4f59798 Binary files /dev/null and b/Source_graphics/img/prefs-account-ssh.png differ diff --git a/Source_graphics/img/prefs-menu.png b/Source_graphics/img/prefs-menu.png new file mode 100644 index 00000000..1bcef247 Binary files /dev/null and b/Source_graphics/img/prefs-menu.png differ diff --git a/Source_graphics/img/prefs-user.png b/Source_graphics/img/prefs-user.png new file mode 100644 index 00000000..756bb7ba Binary files /dev/null and b/Source_graphics/img/prefs-user.png differ diff --git a/Source_graphics/img/preview-default.png b/Source_graphics/img/preview-default.png new file mode 100644 index 00000000..7f55319f Binary files /dev/null and b/Source_graphics/img/preview-default.png differ diff --git a/Source_graphics/img/preview-deploy-right-click.png b/Source_graphics/img/preview-deploy-right-click.png new file mode 100644 index 00000000..285a451b Binary files /dev/null and b/Source_graphics/img/preview-deploy-right-click.png differ diff --git a/Source_graphics/img/preview-deploy.png b/Source_graphics/img/preview-deploy.png new file mode 100644 index 00000000..e1f547f5 Binary files /dev/null and b/Source_graphics/img/preview-deploy.png differ diff --git a/Source_graphics/img/preview-what.png b/Source_graphics/img/preview-what.png new file mode 100644 index 00000000..7819136b Binary files /dev/null and b/Source_graphics/img/preview-what.png differ diff --git a/Source_graphics/img/preview-where.png b/Source_graphics/img/preview-where.png new file mode 100644 index 00000000..0a46cf5b Binary files /dev/null and b/Source_graphics/img/preview-where.png differ diff --git a/Source_graphics/img/preview.png b/Source_graphics/img/preview.png new file mode 100644 index 00000000..d68451d6 Binary files /dev/null and b/Source_graphics/img/preview.png differ diff --git a/Source_graphics/img/previewQuestion1.png b/Source_graphics/img/previewQuestion1.png new file mode 100644 index 00000000..ba8d9ef0 Binary files /dev/null and b/Source_graphics/img/previewQuestion1.png differ diff --git a/Source_graphics/img/previewQuestion2.png b/Source_graphics/img/previewQuestion2.png new file mode 100644 index 00000000..53de9b96 Binary files /dev/null and b/Source_graphics/img/previewQuestion2.png differ diff --git a/Source_graphics/img/preview_deploy.png b/Source_graphics/img/preview_deploy.png new file mode 100644 index 00000000..fb2e69ab Binary files /dev/null and b/Source_graphics/img/preview_deploy.png differ diff --git a/Source_graphics/img/project-menu.png b/Source_graphics/img/project-menu.png new file mode 100644 index 00000000..2fe7b86a Binary files /dev/null and b/Source_graphics/img/project-menu.png differ diff --git a/Source_graphics/img/project-settings.png b/Source_graphics/img/project-settings.png new file mode 100644 index 00000000..44ddfbc7 Binary files /dev/null and b/Source_graphics/img/project-settings.png differ diff --git a/Source_graphics/img/project_create.png b/Source_graphics/img/project_create.png new file mode 100644 index 00000000..cf66cd49 Binary files /dev/null and b/Source_graphics/img/project_create.png differ diff --git a/Source_graphics/img/project_create_other.png b/Source_graphics/img/project_create_other.png new file mode 100644 index 00000000..a23531f3 Binary files /dev/null and b/Source_graphics/img/project_create_other.png differ diff --git a/Source_graphics/img/projects_list.png b/Source_graphics/img/projects_list.png new file mode 100644 index 00000000..8c1a60fc Binary files /dev/null and b/Source_graphics/img/projects_list.png differ diff --git a/Source_graphics/img/projectslist.png b/Source_graphics/img/projectslist.png new file mode 100644 index 00000000..0083e9d6 Binary files /dev/null and b/Source_graphics/img/projectslist.png differ diff --git a/Source_graphics/img/public-key.png b/Source_graphics/img/public-key.png new file mode 100644 index 00000000..f14865e7 Binary files /dev/null and b/Source_graphics/img/public-key.png differ diff --git a/Source_graphics/img/publish.png b/Source_graphics/img/publish.png new file mode 100644 index 00000000..ee60b2d0 Binary files /dev/null and b/Source_graphics/img/publish.png differ diff --git a/Source_graphics/img/publishedversion.png b/Source_graphics/img/publishedversion.png new file mode 100644 index 00000000..71a97cc7 Binary files /dev/null and b/Source_graphics/img/publishedversion.png differ diff --git a/Source_graphics/img/publishnew.png b/Source_graphics/img/publishnew.png new file mode 100644 index 00000000..1b48a220 Binary files /dev/null and b/Source_graphics/img/publishnew.png differ diff --git a/Source_graphics/img/publishversionnew.png b/Source_graphics/img/publishversionnew.png new file mode 100644 index 00000000..ea0fc7c8 Binary files /dev/null and b/Source_graphics/img/publishversionnew.png differ diff --git a/Source_graphics/img/python.png b/Source_graphics/img/python.png new file mode 100644 index 00000000..02d81520 Binary files /dev/null and b/Source_graphics/img/python.png differ diff --git a/Source_graphics/img/pythonexample.png b/Source_graphics/img/pythonexample.png new file mode 100644 index 00000000..8a84d06f Binary files /dev/null and b/Source_graphics/img/pythonexample.png differ diff --git a/Source_graphics/img/quick-open.png b/Source_graphics/img/quick-open.png new file mode 100644 index 00000000..bba1068d Binary files /dev/null and b/Source_graphics/img/quick-open.png differ diff --git a/Source_graphics/img/readme-md.png b/Source_graphics/img/readme-md.png new file mode 100644 index 00000000..484603d6 Binary files /dev/null and b/Source_graphics/img/readme-md.png differ diff --git a/Source_graphics/img/resetunitall.png b/Source_graphics/img/resetunitall.png new file mode 100644 index 00000000..9f537dfc Binary files /dev/null and b/Source_graphics/img/resetunitall.png differ diff --git a/Source_graphics/img/resetunitstudent.png b/Source_graphics/img/resetunitstudent.png new file mode 100644 index 00000000..c95a71dc Binary files /dev/null and b/Source_graphics/img/resetunitstudent.png differ diff --git a/Source_graphics/img/right-click.png b/Source_graphics/img/right-click.png new file mode 100644 index 00000000..57fa6fc7 Binary files /dev/null and b/Source_graphics/img/right-click.png differ diff --git a/Source_graphics/img/run-menu.png b/Source_graphics/img/run-menu.png new file mode 100644 index 00000000..fead387d Binary files /dev/null and b/Source_graphics/img/run-menu.png differ diff --git a/Source_graphics/img/safari.png b/Source_graphics/img/safari.png new file mode 100644 index 00000000..b54d75ca Binary files /dev/null and b/Source_graphics/img/safari.png differ diff --git a/Source_graphics/img/savedSearch.png b/Source_graphics/img/savedSearch.png new file mode 100644 index 00000000..781e5983 Binary files /dev/null and b/Source_graphics/img/savedSearch.png differ diff --git a/Source_graphics/img/savedSearch2.png b/Source_graphics/img/savedSearch2.png new file mode 100644 index 00000000..19a91b9a Binary files /dev/null and b/Source_graphics/img/savedSearch2.png differ diff --git a/Source_graphics/img/savedSearchDelete.png b/Source_graphics/img/savedSearchDelete.png new file mode 100644 index 00000000..7e9c8826 Binary files /dev/null and b/Source_graphics/img/savedSearchDelete.png differ diff --git a/Source_graphics/img/scrollThrough.png b/Source_graphics/img/scrollThrough.png new file mode 100644 index 00000000..f998e571 Binary files /dev/null and b/Source_graphics/img/scrollThrough.png differ diff --git a/Source_graphics/img/search-dialog.png b/Source_graphics/img/search-dialog.png new file mode 100644 index 00000000..6712f427 Binary files /dev/null and b/Source_graphics/img/search-dialog.png differ diff --git a/Source_graphics/img/search-matches.png b/Source_graphics/img/search-matches.png new file mode 100644 index 00000000..8d988a5e Binary files /dev/null and b/Source_graphics/img/search-matches.png differ diff --git a/Source_graphics/img/searchResults.png b/Source_graphics/img/searchResults.png new file mode 100644 index 00000000..427339ca Binary files /dev/null and b/Source_graphics/img/searchResults.png differ diff --git a/Source_graphics/img/selectLib.png b/Source_graphics/img/selectLib.png new file mode 100644 index 00000000..b63c0453 Binary files /dev/null and b/Source_graphics/img/selectLib.png differ diff --git a/Source_graphics/img/selectQuestion.png b/Source_graphics/img/selectQuestion.png new file mode 100644 index 00000000..77a69eee Binary files /dev/null and b/Source_graphics/img/selectQuestion.png differ diff --git a/Source_graphics/img/selectbook.png b/Source_graphics/img/selectbook.png new file mode 100644 index 00000000..e74a47a5 Binary files /dev/null and b/Source_graphics/img/selectbook.png differ diff --git a/Source_graphics/img/settings-editor.png b/Source_graphics/img/settings-editor.png new file mode 100644 index 00000000..7aa40c29 Binary files /dev/null and b/Source_graphics/img/settings-editor.png differ diff --git a/Source_graphics/img/settings-password.png b/Source_graphics/img/settings-password.png new file mode 100644 index 00000000..557d99ac Binary files /dev/null and b/Source_graphics/img/settings-password.png differ diff --git a/Source_graphics/img/settings-profile.png b/Source_graphics/img/settings-profile.png new file mode 100644 index 00000000..44f99cf1 Binary files /dev/null and b/Source_graphics/img/settings-profile.png differ diff --git a/Source_graphics/img/settings-team1.png b/Source_graphics/img/settings-team1.png new file mode 100644 index 00000000..167db93d Binary files /dev/null and b/Source_graphics/img/settings-team1.png differ diff --git a/Source_graphics/img/settings-team2.png b/Source_graphics/img/settings-team2.png new file mode 100644 index 00000000..35f7288a Binary files /dev/null and b/Source_graphics/img/settings-team2.png differ diff --git a/Source_graphics/img/settings.png b/Source_graphics/img/settings.png new file mode 100644 index 00000000..6d740898 Binary files /dev/null and b/Source_graphics/img/settings.png differ diff --git a/Source_graphics/img/sharing.png b/Source_graphics/img/sharing.png new file mode 100644 index 00000000..10d6ac86 Binary files /dev/null and b/Source_graphics/img/sharing.png differ diff --git a/Source_graphics/img/signup.png b/Source_graphics/img/signup.png new file mode 100644 index 00000000..9c3d8dfc Binary files /dev/null and b/Source_graphics/img/signup.png differ diff --git a/Source_graphics/img/sitebar-signup.png b/Source_graphics/img/sitebar-signup.png new file mode 100644 index 00000000..197c4305 Binary files /dev/null and b/Source_graphics/img/sitebar-signup.png differ diff --git a/Source_graphics/img/sitebar-site.png b/Source_graphics/img/sitebar-site.png new file mode 100644 index 00000000..3e88840d Binary files /dev/null and b/Source_graphics/img/sitebar-site.png differ diff --git a/Source_graphics/img/snippet-parms.png b/Source_graphics/img/snippet-parms.png new file mode 100644 index 00000000..18d83291 Binary files /dev/null and b/Source_graphics/img/snippet-parms.png differ diff --git a/Source_graphics/img/snippets-closed.png b/Source_graphics/img/snippets-closed.png new file mode 100644 index 00000000..66edb1f1 Binary files /dev/null and b/Source_graphics/img/snippets-closed.png differ diff --git a/Source_graphics/img/snippets-open.png b/Source_graphics/img/snippets-open.png new file mode 100644 index 00000000..7e604f60 Binary files /dev/null and b/Source_graphics/img/snippets-open.png differ diff --git a/Source_graphics/img/ssh-basic.png b/Source_graphics/img/ssh-basic.png new file mode 100644 index 00000000..a6698f0f Binary files /dev/null and b/Source_graphics/img/ssh-basic.png differ diff --git a/Source_graphics/img/ssh-connection-edit.png b/Source_graphics/img/ssh-connection-edit.png new file mode 100644 index 00000000..b233a331 Binary files /dev/null and b/Source_graphics/img/ssh-connection-edit.png differ diff --git a/Source_graphics/img/ssh-connection-list.png b/Source_graphics/img/ssh-connection-list.png new file mode 100644 index 00000000..f5472faf Binary files /dev/null and b/Source_graphics/img/ssh-connection-list.png differ diff --git a/Source_graphics/img/ssh-nano.png b/Source_graphics/img/ssh-nano.png new file mode 100644 index 00000000..e2bf059c Binary files /dev/null and b/Source_graphics/img/ssh-nano.png differ diff --git a/Source_graphics/img/ssh-parms.png b/Source_graphics/img/ssh-parms.png new file mode 100644 index 00000000..88eedd55 Binary files /dev/null and b/Source_graphics/img/ssh-parms.png differ diff --git a/Source_graphics/img/sshterminal.png b/Source_graphics/img/sshterminal.png new file mode 100644 index 00000000..0e04badb Binary files /dev/null and b/Source_graphics/img/sshterminal.png differ diff --git a/Source_graphics/img/stack_modified.png b/Source_graphics/img/stack_modified.png new file mode 100644 index 00000000..d78d4290 Binary files /dev/null and b/Source_graphics/img/stack_modified.png differ diff --git a/Source_graphics/img/stack_newstack.png b/Source_graphics/img/stack_newstack.png new file mode 100644 index 00000000..e7996174 Binary files /dev/null and b/Source_graphics/img/stack_newstack.png differ diff --git a/Source_graphics/img/stack_newversion.png b/Source_graphics/img/stack_newversion.png new file mode 100644 index 00000000..e9fe9b93 Binary files /dev/null and b/Source_graphics/img/stack_newversion.png differ diff --git a/Source_graphics/img/stack_notmodified.png b/Source_graphics/img/stack_notmodified.png new file mode 100644 index 00000000..8581752c Binary files /dev/null and b/Source_graphics/img/stack_notmodified.png differ diff --git a/Source_graphics/img/stackdetails.png b/Source_graphics/img/stackdetails.png new file mode 100644 index 00000000..f8c4e32f Binary files /dev/null and b/Source_graphics/img/stackdetails.png differ diff --git a/Source_graphics/img/stacknewversion.png b/Source_graphics/img/stacknewversion.png new file mode 100644 index 00000000..42336d77 Binary files /dev/null and b/Source_graphics/img/stacknewversion.png differ diff --git a/Source_graphics/img/stacks_create.png b/Source_graphics/img/stacks_create.png new file mode 100644 index 00000000..85bbb6fe Binary files /dev/null and b/Source_graphics/img/stacks_create.png differ diff --git a/Source_graphics/img/stacks_createnew.png b/Source_graphics/img/stacks_createnew.png new file mode 100644 index 00000000..67896abb Binary files /dev/null and b/Source_graphics/img/stacks_createnew.png differ diff --git a/Source_graphics/img/stacks_edit.png b/Source_graphics/img/stacks_edit.png new file mode 100644 index 00000000..33a79d50 Binary files /dev/null and b/Source_graphics/img/stacks_edit.png differ diff --git a/Source_graphics/img/stacks_image.png b/Source_graphics/img/stacks_image.png new file mode 100644 index 00000000..8b8ca319 Binary files /dev/null and b/Source_graphics/img/stacks_image.png differ diff --git a/Source_graphics/img/stacks_info.png b/Source_graphics/img/stacks_info.png new file mode 100644 index 00000000..9baac522 Binary files /dev/null and b/Source_graphics/img/stacks_info.png differ diff --git a/Source_graphics/img/stacks_list.png b/Source_graphics/img/stacks_list.png new file mode 100644 index 00000000..d70333d7 Binary files /dev/null and b/Source_graphics/img/stacks_list.png differ diff --git a/Source_graphics/img/stacks_update.png b/Source_graphics/img/stacks_update.png new file mode 100644 index 00000000..ffdf4c93 Binary files /dev/null and b/Source_graphics/img/stacks_update.png differ diff --git a/Source_graphics/img/stacks_versions.png b/Source_graphics/img/stacks_versions.png new file mode 100644 index 00000000..7d467843 Binary files /dev/null and b/Source_graphics/img/stacks_versions.png differ diff --git a/Source_graphics/img/stacksettings.png b/Source_graphics/img/stacksettings.png new file mode 100644 index 00000000..b77ccfa7 Binary files /dev/null and b/Source_graphics/img/stacksettings.png differ diff --git a/Source_graphics/img/stackversionid.png b/Source_graphics/img/stackversionid.png new file mode 100644 index 00000000..f24e4cd1 Binary files /dev/null and b/Source_graphics/img/stackversionid.png differ diff --git a/Source_graphics/img/studentcodecomment.png b/Source_graphics/img/studentcodecomment.png new file mode 100644 index 00000000..39c1876a Binary files /dev/null and b/Source_graphics/img/studentcodecomment.png differ diff --git a/Source_graphics/img/studentconsent.png b/Source_graphics/img/studentconsent.png new file mode 100644 index 00000000..65d4bc1a Binary files /dev/null and b/Source_graphics/img/studentconsent.png differ diff --git a/Source_graphics/img/studentlist.png b/Source_graphics/img/studentlist.png new file mode 100644 index 00000000..4d921b7f Binary files /dev/null and b/Source_graphics/img/studentlist.png differ diff --git a/Source_graphics/img/students.png b/Source_graphics/img/students.png new file mode 100644 index 00000000..14785f9e Binary files /dev/null and b/Source_graphics/img/students.png differ diff --git a/Source_graphics/img/studentsadd.png b/Source_graphics/img/studentsadd.png new file mode 100644 index 00000000..76a4b978 Binary files /dev/null and b/Source_graphics/img/studentsadd.png differ diff --git a/Source_graphics/img/studentview_dashboard.png b/Source_graphics/img/studentview_dashboard.png new file mode 100644 index 00000000..674f8bf0 Binary files /dev/null and b/Source_graphics/img/studentview_dashboard.png differ diff --git a/Source_graphics/img/subscribe-1.png b/Source_graphics/img/subscribe-1.png new file mode 100644 index 00000000..a364de00 Binary files /dev/null and b/Source_graphics/img/subscribe-1.png differ diff --git a/Source_graphics/img/subscribe-2.png b/Source_graphics/img/subscribe-2.png new file mode 100644 index 00000000..6cf0fee5 Binary files /dev/null and b/Source_graphics/img/subscribe-2.png differ diff --git a/Source_graphics/img/teacher_dashboard_student_activity.png b/Source_graphics/img/teacher_dashboard_student_activity.png new file mode 100644 index 00000000..5997a974 Binary files /dev/null and b/Source_graphics/img/teacher_dashboard_student_activity.png differ diff --git a/Source_graphics/img/teacher_dashboard_student_unit_activity.png b/Source_graphics/img/teacher_dashboard_student_unit_activity.png new file mode 100644 index 00000000..3d9a8d62 Binary files /dev/null and b/Source_graphics/img/teacher_dashboard_student_unit_activity.png differ diff --git a/Source_graphics/img/teacher_dashboard_students.png b/Source_graphics/img/teacher_dashboard_students.png new file mode 100644 index 00000000..06386adf Binary files /dev/null and b/Source_graphics/img/teacher_dashboard_students.png differ diff --git a/Source_graphics/img/teacherdash.png b/Source_graphics/img/teacherdash.png new file mode 100644 index 00000000..258c0f0b Binary files /dev/null and b/Source_graphics/img/teacherdash.png differ diff --git a/Source_graphics/img/teachersolutions.png b/Source_graphics/img/teachersolutions.png new file mode 100644 index 00000000..99b06f8c Binary files /dev/null and b/Source_graphics/img/teachersolutions.png differ diff --git a/Source_graphics/img/templates-manage.png b/Source_graphics/img/templates-manage.png new file mode 100644 index 00000000..310a6a20 Binary files /dev/null and b/Source_graphics/img/templates-manage.png differ diff --git a/Source_graphics/img/templates-newfile.png b/Source_graphics/img/templates-newfile.png new file mode 100644 index 00000000..1dbfa680 Binary files /dev/null and b/Source_graphics/img/templates-newfile.png differ diff --git a/Source_graphics/img/terminal.png b/Source_graphics/img/terminal.png new file mode 100644 index 00000000..42fafc54 Binary files /dev/null and b/Source_graphics/img/terminal.png differ diff --git a/Source_graphics/img/terminalicon.png b/Source_graphics/img/terminalicon.png new file mode 100644 index 00000000..cd49b3c3 Binary files /dev/null and b/Source_graphics/img/terminalicon.png differ diff --git a/Source_graphics/img/tkinter-pack.png b/Source_graphics/img/tkinter-pack.png new file mode 100644 index 00000000..b80866d8 Binary files /dev/null and b/Source_graphics/img/tkinter-pack.png differ diff --git a/Source_graphics/img/tkinter-stack.png b/Source_graphics/img/tkinter-stack.png new file mode 100644 index 00000000..8b840519 Binary files /dev/null and b/Source_graphics/img/tkinter-stack.png differ diff --git a/Source_graphics/img/tree/folder-horizontal.png b/Source_graphics/img/tree/folder-horizontal.png new file mode 100644 index 00000000..e12a52db Binary files /dev/null and b/Source_graphics/img/tree/folder-horizontal.png differ diff --git a/Source_graphics/img/tree/minus.png b/Source_graphics/img/tree/minus.png new file mode 100644 index 00000000..1351ac72 Binary files /dev/null and b/Source_graphics/img/tree/minus.png differ diff --git a/Source_graphics/img/tree/plus.png b/Source_graphics/img/tree/plus.png new file mode 100644 index 00000000..361cd079 Binary files /dev/null and b/Source_graphics/img/tree/plus.png differ diff --git a/Source_graphics/img/tree/toggle-small-expand.png b/Source_graphics/img/tree/toggle-small-expand.png new file mode 100644 index 00000000..2048bf28 Binary files /dev/null and b/Source_graphics/img/tree/toggle-small-expand.png differ diff --git a/Source_graphics/img/tree/toggle-small.png b/Source_graphics/img/tree/toggle-small.png new file mode 100644 index 00000000..7c1e2ef0 Binary files /dev/null and b/Source_graphics/img/tree/toggle-small.png differ diff --git a/Source_graphics/img/trial_try_unit.png b/Source_graphics/img/trial_try_unit.png new file mode 100644 index 00000000..870ab14f Binary files /dev/null and b/Source_graphics/img/trial_try_unit.png differ diff --git a/Source_graphics/img/ungit-1.png b/Source_graphics/img/ungit-1.png new file mode 100644 index 00000000..76921965 Binary files /dev/null and b/Source_graphics/img/ungit-1.png differ diff --git a/Source_graphics/img/ungit-2.png b/Source_graphics/img/ungit-2.png new file mode 100644 index 00000000..11f19344 Binary files /dev/null and b/Source_graphics/img/ungit-2.png differ diff --git a/Source_graphics/img/unit_delete.png b/Source_graphics/img/unit_delete.png new file mode 100644 index 00000000..352c710c Binary files /dev/null and b/Source_graphics/img/unit_delete.png differ diff --git a/Source_graphics/img/unit_refresh.png b/Source_graphics/img/unit_refresh.png new file mode 100644 index 00000000..da17adfe Binary files /dev/null and b/Source_graphics/img/unit_refresh.png differ diff --git a/Source_graphics/img/unitactions.png b/Source_graphics/img/unitactions.png new file mode 100644 index 00000000..1d286caf Binary files /dev/null and b/Source_graphics/img/unitactions.png differ diff --git a/Source_graphics/img/unitfork.png b/Source_graphics/img/unitfork.png new file mode 100644 index 00000000..87dad4d0 Binary files /dev/null and b/Source_graphics/img/unitfork.png differ diff --git a/Source_graphics/img/unitorder1.png b/Source_graphics/img/unitorder1.png new file mode 100644 index 00000000..8c538912 Binary files /dev/null and b/Source_graphics/img/unitorder1.png differ diff --git a/Source_graphics/img/unitorder2.png b/Source_graphics/img/unitorder2.png new file mode 100644 index 00000000..afc1f35f Binary files /dev/null and b/Source_graphics/img/unitorder2.png differ diff --git a/Source_graphics/img/units.png b/Source_graphics/img/units.png new file mode 100644 index 00000000..4ce41704 Binary files /dev/null and b/Source_graphics/img/units.png differ diff --git a/Source_graphics/img/units_add.png b/Source_graphics/img/units_add.png new file mode 100644 index 00000000..a4883e3b Binary files /dev/null and b/Source_graphics/img/units_add.png differ diff --git a/Source_graphics/img/units_small.png b/Source_graphics/img/units_small.png new file mode 100644 index 00000000..4fc54bfd Binary files /dev/null and b/Source_graphics/img/units_small.png differ diff --git a/Source_graphics/img/unitsettings.png b/Source_graphics/img/unitsettings.png new file mode 100644 index 00000000..b596e7a0 Binary files /dev/null and b/Source_graphics/img/unitsettings.png differ diff --git a/Source_graphics/img/unitstart.png b/Source_graphics/img/unitstart.png new file mode 100644 index 00000000..ed8e28f2 Binary files /dev/null and b/Source_graphics/img/unitstart.png differ diff --git a/Source_graphics/img/update-class-course.png b/Source_graphics/img/update-class-course.png new file mode 100644 index 00000000..ef69ffaa Binary files /dev/null and b/Source_graphics/img/update-class-course.png differ diff --git a/Source_graphics/img/user_access_export.png b/Source_graphics/img/user_access_export.png new file mode 100644 index 00000000..f0f44998 Binary files /dev/null and b/Source_graphics/img/user_access_export.png differ diff --git a/Source_graphics/img/versiondetails.png b/Source_graphics/img/versiondetails.png new file mode 100644 index 00000000..0f01c947 Binary files /dev/null and b/Source_graphics/img/versiondetails.png differ diff --git a/Source_graphics/img/versions.png b/Source_graphics/img/versions.png new file mode 100644 index 00000000..7b40643d Binary files /dev/null and b/Source_graphics/img/versions.png differ diff --git a/Source_graphics/img/versionstab.png b/Source_graphics/img/versionstab.png new file mode 100644 index 00000000..33ef7096 Binary files /dev/null and b/Source_graphics/img/versionstab.png differ diff --git a/Source_graphics/img/video-icon-16x16.png b/Source_graphics/img/video-icon-16x16.png new file mode 100644 index 00000000..5a65dd05 Binary files /dev/null and b/Source_graphics/img/video-icon-16x16.png differ diff --git a/Source_graphics/img/what_students_do/createproject/build.png b/Source_graphics/img/what_students_do/createproject/build.png new file mode 100644 index 00000000..d0989b6b Binary files /dev/null and b/Source_graphics/img/what_students_do/createproject/build.png differ diff --git a/Source_graphics/img/what_students_do/forgotpassword/account.png b/Source_graphics/img/what_students_do/forgotpassword/account.png new file mode 100644 index 00000000..c889ed06 Binary files /dev/null and b/Source_graphics/img/what_students_do/forgotpassword/account.png differ diff --git a/Source_graphics/img/what_students_do/forgotpassword/change.png b/Source_graphics/img/what_students_do/forgotpassword/change.png new file mode 100644 index 00000000..6432584b Binary files /dev/null and b/Source_graphics/img/what_students_do/forgotpassword/change.png differ diff --git a/Source_graphics/img/what_students_do/forgotpassword/profilepic.png b/Source_graphics/img/what_students_do/forgotpassword/profilepic.png new file mode 100644 index 00000000..1fd0be77 Binary files /dev/null and b/Source_graphics/img/what_students_do/forgotpassword/profilepic.png differ diff --git a/Source_graphics/img/what_students_do/studentdashboard.png b/Source_graphics/img/what_students_do/studentdashboard.png new file mode 100644 index 00000000..42aa826e Binary files /dev/null and b/Source_graphics/img/what_students_do/studentdashboard.png differ diff --git a/Source_graphics/img/xserver-install.png b/Source_graphics/img/xserver-install.png new file mode 100644 index 00000000..1270fe36 Binary files /dev/null and b/Source_graphics/img/xserver-install.png differ diff --git a/Source_graphics/index-notusing.old b/Source_graphics/index-notusing.old new file mode 100644 index 00000000..c262683f --- /dev/null +++ b/Source_graphics/index-notusing.old @@ -0,0 +1,27 @@ + +| **Getting Started and Onboarding Materials** | **Teaching with Codio** | +| :------ | :----------- | +| Link to Onboarding Guide | links to teaching with codio | +| Link to Demo Guides and Assessments | more links to teaching with codio | +| Link to Debugger | and more links to teaching with codio | +| [Intro to UI](https://drive.google.com/file/d/1S_YZKgcFp9O8ztBOpu0RFolnEiBDt0AW/view?usp=sharing_eil&ts=5e17548f) | + + +| **Integrations**| **Student help**| +| :------ | :----------- | +|links to integration videos maybe also links to docs and remove below | anything additional to existing studentview page? | + +| **Help Center**| +| :------ | +|[Questions regarding Users and Classes](https://intercom.help/codio/en/collections/21153-students-and-classes)| +|[Questions relating to Installing software](https://intercom.help/codio/en/collections/21236-installing-software-on-boxes)| +|[Questions relating to Python, Java, MySQL and other languages](https://intercom.help/codio/en/collections/21174-languages-and-components)| +|[Questions relating to Codio Guides](https://intercom.help/codio/en/collections/21261-guides)| +|[Questions relating to LMS Platforms](https://intercom.help/codio/en/collections/21304-lms-platforms)| +|[Questions relating to Codio Stacks and Starter Packs](https://intercom.help/codio/en/collections/21295-stacks-and-packs)| +|[Uncategorised Questions](https://intercom.help/codio/en/collections/21145-general-questions)| +|[Ask us a question](mailto:help@codio.com)| + + +**[Full technical details and documentation](/docindex.md)** + diff --git a/Source_graphics/index.md b/Source_graphics/index.md new file mode 100644 index 00000000..2c2a7952 --- /dev/null +++ b/Source_graphics/index.md @@ -0,0 +1,41 @@ +--- +title: Documentation + + +--- + + +|**The Codio Dashboard** |**Projects and Templates**| +| :------ | :----------- | +|[Support queries](/dashboard/support)|[](#section-projects)[Projects](/project/projects)| +|[Navigating Codio](/dashboard/navigation)|[](#how_use_stacks)[Stack templates](/project/stacks)| +|[Dashboard overview](/dashboard/overview)|[](#how_use_packs)[Starter pack templates](/project/packs)| +|[Organization management](/dashboard/organisations/)|[Books](/project/books/)| +|[Account settings and info](/dashboard/account)| +|[Desktop Application](/dashboard/desktopapp)| + +|**Boxes and the IDE** |**Courses**| +| :------ | :----------- | +|[Introduction](/project/ide/introduction)|[Understanding Courses](/courses/classes/)| +|[](#int_dev_env)[Basic IDE features](/project/ide/navigation/)|[](#lti1_0)[Integrating with LTI 1.1 systems](/courses/lti1_0)| +|[](#adv_ide_feat)[Advanced IDE features](/project/ide/features/)|[](#lti1_3)[Integrating with LTI 1.3 systems](/courses/lti1_3)| +|[](#boxes)[Accessing a Box](/project/ide/boxes)|[Creating Course Content](/courses/coursemanagement)| +|[](#panels_tabs)[Panels and Tabs](/project/ide/panels)|[Content Authoring with Guides](/courses/authoring)| +|[](#code_edit)[Code editing](/project/ide/editing)|[](#page-action-section)[Guides settings and page actions](/courses/settings-actions)| +|[](#ide_tools)[IDE tools - Deployment](/project/ide/tools/deployment)|[](#autoassessments)[Codio Assessments](/courses/assessments)| +|[IDE tools - Guides](/project/ide/tools/guides/)|[](#assessments-library)[Assessments Library](/courses/assessments-library)| +|[](#phonegap)[IDE tools - Phonegap](/project/ide/tools/phonegap)|[](#stud_progress)[Grading and accessing student projects](/courses/grading)| +|[](#ssh)[IDE tools - Remote SSH terminal access](/project/ide/tools/ssh)|[](#plag)[Plagiarism checker](/courses/plagiarism)| +|[](#ide-settings)[Settings](/project/ide/settings)| + + +|**Resources** | **Student Help**| +| :------ | :----------- | +|[Codio Resources](/resources/Codio-Resources)|[The student view](/students)| +|[Flode](/resources/Resource-Tools/flode)| +|[Crunch, an alternative to Little Man Computer](/resources/Resource-Tools/crunch)| +|[Lexikon](/resources/Resource-Tools/lexikon)| +|[Tkinter](/resources/Resource-Tools/tkinter)| +|[Changelog](/resources/changelog)| + + diff --git a/Source_graphics/javascripts/extra.js b/Source_graphics/javascripts/extra.js new file mode 100644 index 00000000..cc0fe1f6 --- /dev/null +++ b/Source_graphics/javascripts/extra.js @@ -0,0 +1,6 @@ +$("#mkdocs-search-query").keypress(function(e) { + if(e.which == 13) { + e.preventDefault() + return false + } +}); \ No newline at end of file diff --git a/Source_graphics/project/books.md b/Source_graphics/project/books.md new file mode 100644 index 00000000..6d099ac3 --- /dev/null +++ b/Source_graphics/project/books.md @@ -0,0 +1,156 @@ + + +## Introduction +Codio Books lets you build a complete book, with chapters, sections and pages that can be nested to any depth to form a table of contents and associated content that mirrors a normal book structure. Parts of a book can then be mapped to assignments in courses. + +A Codio book still sits on top of a Codio box so you have the same capabilities that projects and assignments have. Before we introduced books, switching assignments wasted time as a new assignment needed to load, which took several seconds. If you frequently switch assignments (for instance during student revision) this delay becomes irritating. With a book, there is no delay and the student can freely access all parts of the book irrespective of which assignment they are accessing. + +### Recommendations +We strongly recommend you have a thorough understanding of the following before embarking on large scale books. + +- [Content authoring](/courses/authoring/) +- [Courses](/courses/coursemanagement/), especially how [courses map to books](/courses/coursemanagement/#adding-assignments) +- [Assigning content to courses](/courses/classes/#assign-resource-modules-to-the-course) +- Limitations (see below) + +### Limitations, restrictions and when not to use a book +There are cases where authoring your content in a book is not appropriate. For more information on this, please refer to [limitations and restrictions](/project/books/#limitations-and-restrictions) below. + + +### Courses +Rather than assign a Book to a course, you can map any sections of the Book to the usual course and module structure. So you can still divide a course into modules and assignments and assign these to a course. + +### Assessments +Although it is entirely up to the book author, a book will usually contains a number of assessments. When you map a course assignment to a section of the book, any assessments that fall within that assignment are shown in the course dashboard. + +You should make a decision as to when assessments should be in the book and when they are better suited to a project assignment. Generally speaking, standard assessments that are used to monitor student engagement with content belong in the book. + +Questions that are assigned to a course for homework or lab assessments could also go in a book but are usually better in a course project assignment. Please refer to limitations and restrictions below for a discussion on cheating related risks to putting assessments in a book. + +## Limitations and restrictions + +When you map book content to a course assignment, you should be aware that certain features may not work as expected. + +Because a book sits on a single Codio box, if the student is able to access the terminal window or is able to see the file tree, they can effectively access parts of the book that are outside the scope of the assignment. In many cases, this does not matter, but you should be aware of it. + +Here are some specific things to be aware of. + +- **Auto grade script**: in [assignment settings](/courses/classes/#autograde-method), you can specify an auto grade script to execute when the student makes the assignment as complete. You can still use this but if the script you are executing needs to be assignment specific, then you should include an argument that is passed to your script so it knows the assignment context. +- **Plagiarism** - plagiarism detection makes little sense in books. If you have are doing coding assignments, then you should use a [project assignment](/courses/coursemanagement/#adding-assignments) within a course. +- **Mark as complete**: this works as expected but, unlike course project assignments and projects, it cannot set the project to be read-only as the book project can be mapped to other assignments which will require access to the box. +- **Secure assessments**: if you want to minimize the risk of student cheating, then you should understand that students may be able to access the terminal window and access all parts of the underlying box. As a result, we would recommend that more [secure assessments](/courses/classes/#secure-scripts) are placed in project assignments rather than book based assignments. This also allows full disabling of the box by setting a project to read-only after being marked as complete. + + +## Creating and managing books + +### Creating a new book +Creating a new book is done from the main books screen. Press the large blue **New Book** button in the top right of the screen. + +You will get the same options for creating a book as for a project, so you can start from scratch or import from a project or a Git repo. You also have control over visibility as with projects and courses. + +### Editing a book in the IDE +Once the book has been created, you can edit the book in the IDE by clicking on the book. + +### Editing a book's settings +Modify a book's settings by clicking on the gear icon. + +### Deleting a book +You can delete a book by clicking on the gear icon and then pressing the **Delete** button. + +## Table of contents +The table of contents is edited using the Codio Guide authoring capability. This is the same functionality as available for authoring project and project assignment content. + +Please [click here](/courses/authoring/#table-of-contents-management) for full details. +## Editing page content +The page content is edited using the Codio Guide authoring capability. This is the same functionality as available for authoring project and project assignment content. + +Please [click here](/courses/authoring/#page-editing-overview) for full details. +## Publishing and the stack +It is important to understand how and why a book is published. + +Until you publish a book, it behaves exactly as a project does. You can open it up and work with it but it cannot be accessed by anyone or mapped to a course until it has been published. After a book is published, you can continue to work on the book without the published version being affected. + +Please note the following. + +1. Publishing creates a snapshot of the book and creates a new version. +1. You can continue work on the book without affecting the published version. +1. When you map a course assignment to a book, it will only pull from a published version. + +When you press the **Publish** button, the following screen will appear where you can add details of the changes made. This will then be available to see from the **versions** tab + +![versions](/img/book_publish.png) + + + + +### Later book modifications +If, after publishing, you make further changes to your book then you will need to re-publish when you want those changes to be available to courses. This will not happen automatically. You will need to update the project assignment within your course to pull the published version. See [Editing a book assignment](/courses/coursemanagement/#editing-a-book-assignment) for more information. + + +### Course mapping +A book cannot be assigned to a course without mapping it through a course. The advantage of this approach is that you can break your book into smaller chunks that map to lessons or lectures. + +You can map the entire book through a single course assignment if you are not concerned about detailed assignment mappings. + +Please refer to [Creating book based course assignments](/courses/coursemanagement/#new-book-assignment) page for details on how to do this. + + + +## Permissions and collaboration +By default, a book is only available to you for editing purposes and only you can create courses from a Book. + +You can change permissions to allow others + +- to edit your book +- to create courses from your book. + +To modify the permissions, goto **Books** from the dashboard. Then select the settings icon. + +![Book settings](/img/booksettings.png) + +### Private / Public visibility +If the book is set to **Private**, unless you override the permissions, only you can modify a book contents and create course assignments from it. Private books cannot be assigned to public courses. + +If the book is set to **Public**, then any Codio user inside or outside your organization can create courses from your book but they will not be able to edit it. The default organization setting restricts the ability to create Public books. To allow this, see [Public/Private Settings](/dashboard/organisations/#publicprivate-settings). + +![Book settings page](/img/booksettingspage.png) + +### Permissions and collaboration +If you want 2 or more people to collaborate on a book, you need to understand how Codio manages this process. + +**It is recommended that you connect your assignments to a remote repo (GitHub/BitBucket etc)** where you can push your work. As well as giving you full versioning control it also allows you to + +- easily update assignments where you may use the same content in different courses as you can make the changes in one assignment, push to the repo and then pull in the changes to the other assignments to publish. + +- collaborate with colleagues who can create their own 'project' by importing from the repo and push their changes to the repo for review before they are pulled into the course assignment and published. + +If you wish to do this within Codio however, you need to give explicit permission to other users or to an organization and apply write permissions. + +The permissions can be changed by selecting the **Permissions** tab on the book settings screen. You should first specify which user or organization you want to grant permissions to. You need to know the precise organization or user name and this is case sensitive. We do not support lookups as the potential for incorrect assignment is too great. + +![Book permissions](/img/book-permissions.png) + +You can grant the following permissions. + +- **Read** : this allows the user or organization specified to create course assignments from your book. +- **Write** : this allows the user or organization to create course assignments and to edit your book. If you want to co-author/collaborate with another user on a book, then you an either follow the process described below or you can use git and a remote git repo. + +It is important to understand that each user editing a book is not actually editing the same physical project. Codio uses snapshotting of the latest published version. If using the basic collaboration approach described below and not git, then you should remember that **only one user should make changes at a time**. + +If User A and User B want to collaborate, then they each need to inform the other when they are working on the content. If they fail to do so, then one person will have to surrender their changes at some point. + +Let's say User A has created a book and authored some content. User A now wants User B to be able to work on the content. User A should first [publish](/project/books/#publishing-and-the-stack) the book. Be aware that if User A does not publish the book, then User B will start with an empty book. + +When User B accesses the book (from the **Shared with me** tab on the main books listing), Codio will take a snapshot of the published book and User B can start work on it. In other words, User B is **not** editing User A's book, User B is now working on a clone of the published book. + +User B now makes changes to the book. When done, User B should publish the book and inform User A that the changes are complete and published. At this point, when User A opens the project, a dialog will appear showing that User B has published new changes. User A can now update her own version of the book from this published version. And so the cycle continues. + +![Book New Version](/img/bookversion.png) + +You can do this with as many users as you like, provided that only one user is making changes at a time. + +## Creating course assignments +Books cannot be accessed directly by students. Once your book is [published](/project/books/#publishing-and-the-stack), you need to [map parts of it to one or more course assignments](/courses/coursemanagement/#new-book-assignment), which can then be [assigned to a course](/courses/classes/#assign-resource-modules-to-the-course). + + + diff --git a/Source_graphics/project/ide/boxes.md b/Source_graphics/project/ide/boxes.md new file mode 100644 index 00000000..4841f96d --- /dev/null +++ b/Source_graphics/project/ide/boxes.md @@ -0,0 +1,551 @@ +--- +title: Accessing a Box + + +--- + + +Each Codio Project gets its own dedicated Ubuntu Server (Box). This chapter contains important information on accessing your box, how to administer it and how to install software dependencies. + +Details of your project Box can be found by opening the **Project > Box Info** menu item, where information of your project URL(s) can be viewed. + +![Box Info](/img/box_info.png) + +## Overview +### Waking a Box +When you create a Codio Project, it is automatically assigned an Ubuntu server. You can think of this server as being asleep until you open up your Project in the IDE. As soon as the Project loads in the IDE, the Box is up and running. + +### When is the Server put back to sleep? +Your server is put to sleep within a few minutes of you exiting your Project or after 60mins of inactivity. + +### Can I have my Box 'Always on'? +Paid subscribers can use the [Always On Boxes](/project/ide/boxes/#always-on-boxes) feature. This allows you to mark Projects that you don't want to be put to sleep when you exit your Project. + +### Can I SSH into my Box? +Yes, see [SSH into your box](/project/ide/boxes/#ssh-and-code-access-ssh-into-your-box) documentation. + +### Can I reboot my Box? +Yes. Please refer to the [Restart and Reset](/project/ide/boxes/#restart-and-reset) documentation. + +### Can I let other people administer my Box? +Paid subscribers can use the Admin property of the [Permissions](/project/ide/settings/#project-permissions) feature to allow other Codio users to access their Project and have full access to your Codio Box as well as the code. + +### Do I have sudo access? +Yes, our Boxes provide sudo access. + +### How do I install software dependencies? +You have sudo access, so should use the full power of the [apt](https://help.ubuntu.com/community/AptGet/Howto) package management system, and the packages it provides via the Ubuntu community. + +### How do I access my Box from code? +We have [full documentation](/project/ide/boxes/#accessing-boxes-and-ports) on how to access your Box from code. + +### Firewall issues +Codio Boxes do not run on port 80. Some companies block outbound access to ports other than port 80. Please read [this section](/project/ide/boxes/#accessing-boxes-and-ports) on how to work around this. + +### Important 'localhost' configuration information +In many config files on your Box you would include a reference to `127.0.0.1` to access localhost. Please be sure to use `0.0.0.0` instead. + +## Terminal window +You can access the Terminal window + +- from the **Tools->Terminal** menu item +- or by pressing the terminal icon in the bar at the top of the file tree. + +![terminal icon](/img/terminalicon.png) + +This will open up a terminal window in a new IDE panel. You can have multiple terminals open simultaneously. + +Note that you can create tabs and panels anywhere you like using Codio's [Panels and Tabs](/project/ide/panels/) features. + +![terminal](/img/terminal.png) + +### Terminal Settings +You can modify various Terminal settings from the **Codio->Preferences** menu. + +The available settings (and their defaults) are listed below. Preferences can be modified at the User level as [described here](/project/ide/settings/#user-preferences). You can also force settings at the Project level but these will then override for all users looking at this project, so should be used sparingly. + +```ini +[terminal] + +;Font size. +; Type: int +font_size = 12 + +;Terminal theme. +; Type: string +theme = dark + +;Number of lines available in the scroll history. +; Type: int +scrollback = 3000 + +;Quick Connect +; Type: hotkey +show-connect-dialog = + +;Connections Manager +; Type: hotkey +show-connections-manager = + +;Terminal. SSH connection to the box +; Type: hotkey +backend-connection = Shift+Alt+T +``` + +## Accessing boxes and ports +When Codio creates a new project, it will generate a unique subdomain name + +``` +word1-word2.codio.io +``` +where `word1` and `word2` are randomly generated words resulting in a unique domain name. + +It is strongly recommended that you reference a Codio box running on a specific port using + +``` +word1-word2.codio.io +``` + +If your PC is behind a firewall, access to external ports are often restricted. Using the recommended approach, the request will be made over port 80 and so will not be blocked by the firewall. + +This approach allows HTTPS access over the full range of ports, `1024` to `9999`. + + +### Standard port addressing +You can also reference a Codio box using `word1-word2-.codio.io` although be aware that this approach is deprecated due to security reasons + +This approach currently work but be aware: + +- Port ranges are between `1024` and `9999` +- If the PC you are working on is behind a firewall and it blocks access over non-standard ports, it will fail if it references a box using `word1-word2-3000.codio.io` +- You may waste your time and potentially your sysadmin's time trying to diagnose why your browser will not talk to the Codio box. + + + +### Original Request Header +Should you need it, the `X_FORWARDED_PROTO` header contains original request schema. + + +## Preview Menu +Codio offers a fully customizable Preview menu so you can preview both static files (.html) and server side files (.php files, Ruby and Node apps etc.) with a single click. + +- [Preview documentation](/project/ide/features/#preview) + +This feature lets you set up any number of 'aliases' both for static files and Box cli commands. + +## Preinstalled software packages +When you create an empty Box, you get a standard Ubuntu installation. Currently, we also add the following software automatically + +- Git + +If you want to have more software installed by default then you should use [Stacks](/project/stacks/#stack-listings) or select one of the standard stacks from the **New Project** screen. + +Please refer to the [Installing software packages](/project/ide/boxes/#installing-software-packages) section below for details on how to install many other languages, database, web servers and other system components. +## File & software locations +All Codio code workspace and software dependency files are located in the `/home/codio` folder, also reachable as `~`. + +Everything below this level can be accessed and is effectively read-only. You should not change anything here as it will not persist. + +Software that you install from the command line or using Install Software will be installed in the usual location for an Ubuntu server. + +### Code workspace files +The code workspace you see in the project file tree is located at `/home/codio/workspace` or `~/workspace`. +## Installing software packages +The **Tools->Install Software** menu option gives you access to a dialog driven means of running scripts that can install, configure or reconfigure software components. This saves you the trouble of doing this manually from the command line. + +![Install Software](/img/install-sw-g2.png) + + +On this page, you can locate the software you want to install and then click the install icon to start the installation. + +### Installing from the command line +Our boxes provide full `sudo` (root) access, so you can also use the Ubuntu [apt](https://help.ubuntu.com/community/AptGet/Howto) package manager, which provides thousands of software packages that are maintained by the Ubuntu community. + +If you want to provide fully pre-configured boxes then you should use [Stacks](/project/stacks/#stack-listings) rather than the Install Software feature described on this page. + + +### Adding or requesting new packages +As of May 2016 the list of available packages is somewhat limited. However, we will be adding to these continuously and we also encourage you to request new ones. + +If you require a new script to be added to the Install Software list then you have two options. + +1. Visit the [Issues](https://github.com/codio/install_software/issues) page on our GitHub repository and create a new issue detailing your requirements. +1. You can fork our [GitHub repository](https://github.com/codio/install_software), add the script yourself and then submit a pull request. + +Instructions on how to add your own package scripts can be found below. + + +### Autostarting +Services that require to be started will auto start on installation. + +You can manually start, stop and restart services using the following terminal commands or use a `startup.sh` bash script + +``` +$ sudo service start +$ sudo service stop +$ sudo service restart +``` +For the bash script to be included in the stack we'd recommend `/home/codio/startup.sh`. +If your project is using guides, you can use `.guides/startup.sh` or you can locate this file in the workspace although bear in mind that students may be able to access/edit files visible to them in the workspace. + + +## Coding installable packages +### Overview +If you cannot find the software you want to install in the list then you can add your own package to the Install Software list by forking our GitHub repository, making the necessary modifications and finally submitting a pull request. + +The repository can be found at [https://github.com/codio/install_software](https://github.com/codio/install_software) + +### What is a script? +A script is typically, but not necessarily, a bash script that runs a series of commands as you would on the command line to install or configure software on your Codio box. However, it can be any executable code you choose. + +The scripts written by Codio typically use Ansible, a very friendly deployment management system that greatly reduces complexity. + +### `package_list.json` +This is the manifest that lists the entire contents of the publicly available scripts. Each script has an entry in this file and you should add a new item. + +Here's a reminder of the MySQL entry. + +``` +"mysql": { + "name": "MySQL", + "description": "MySQL is an open-source relational database management system (RDBMS)", + "script": "mysql/install.sh", + "version": "5.5.49", + "category": "data_stores" +} +``` + +Whenever a user loads the Install Software dialog, this Install Software manifest is retrieved from our GitHub repo. + +### `script` +The script is the path, relative to the root of the repo, where the installation script can be found. + +### `category` +You can specify the category that the component belongs to by updating the `category` field. You can choose from one of the following. + +``` +'data_stores' +'deployment' +'development_tools' +'libraries' +'shells' +'programming_languages' +'utilities' +'web_development' +``` + +### Example : MySQL +The following example shows how to install MySQL from the Install Software menu in a few seconds. Try running the MySQL installation on a new box. The MySQL entry in the `package_list.json` file looks like this + +``` +"mysql": { + "name": "MySQL", + "description": "MySQL is an open-source relational database management system (RDBMS)", + "script": "mysql/install.sh", + "version": "5.5.49", + "category": "data_stores" +} +``` + +You can see the reference to the `mysql/install.sh` script. + +### Bash script +This script calls our standard Ansible loader script, which in turn loads the relevant playbook. + +``` +#!/bin/bash + +bash -c "$(curl -fsSL https://raw.github.com/codio/install_software/master/tools/ansible.sh)" mysql + +echo "Mysql password root user password is 'codio'" +``` + +### Ansible playbook script +As Ansible makes installations and configurations so easy, we use this to make our lives easier. We could have accomplished the same thing within the main bash script using standard Ubuntu commands but it would be less readable and harder to maintain than using Ansible. + +If you are interested in finding out more about Ansible playbooks, [click here](http://docs.ansible.com/). + +``` +--- +- name: Install MySQL + hosts: 127.0.0.1 + sudo: True + vars: + MySQL_root_pass: codio + tasks: + - name: Set MySQL root password before installing + debconf: name='mysql-server' question='mysql-server/root_password' value='{{MySQL_root_pass | quote}}' vtype='password' + - name: Set MySQL root again password before installing + debconf: name='mysql-server' question='mysql-server/root_password_again' value='{{MySQL_root_pass | quote}}' vtype='password' + - name: Install MySQL + apt: name={{ item }} state=present + with_items: + - mysql-server + - mysql-client + - python-mysqldb + - copy: src=my.cnf dest=/home/codio/.my.cnf +``` + +## Language server protocol +The Language Server protocol is used to integrate features like auto complete, go to definition, find all references. + +**Java, OCAML and Python** are currently available. + +Python Example: + +![Python](/img/pythonexample.png) + +### Implementing LSP support + +Enable LSP support in your [User](/project/ide/settings/#user-preferences) (or [Project](/project/ide/settings/#project-preferences)) Preferences, entering +``` +[codio-lsp] +enable_lsp_support = true +``` +If you are [authoring](/courses/authoring/) content for use in a course/class, we recommend enabling as a [project preference](/project/ide/settings/#project-preferences) as these will be applied over any preferences users may set + +### Installing language server protocols + +To install language server protocols, go to the menu **Tools->Install Software** and locate the relevant component. Press the install button in the relevant row. The installation may take a few minutes and you should then [restart](/project/ide/boxes/#restart-and-reset) your Box before proceeding. + +## Autocomplete + +Autocomplete is not automatically triggered as in HTML/CSS/JS files. To invoke autocomplete for language server protocol implemented files, use : + +``` +Mac: Shift+Space +Others: Ctrl+Space +``` +If you wish to change the default preference to something else you can. See [User Preferences](/project/ide/settings/#user-preferences) for more on this + +## GUI based output +If you are writing or using programs that have a GUI based output then please read this section. Whether you are using UI libraries like tkinter, qt or simply ubuntu applications that have a non web based UI, this section explains how to setup a virtual desktop. + +### Sample Project +If you created the account for your Codio Trial account then you will find **Demo GUI Output** in your My Projects list. You will find instructions in the README.md file when you open the project. + +If it is not there then [click here to install it in your projects list](https://codio.com/home/starter-packs/d9c00215-ec2a-46e7-b64e-85fab45b0872/). Press the **Use Pack** button to install. + +### Uses and Limitations +X Server is a virtual desktop that is very effective for Codio's cloud based infrastructure. Any application that relies on a graphical user interface has its graphical output redirected to it and Codio's viewer is then able to display the virtual desktop in a browser. + +As you will see when trying out the sample applications in the demo project above, some of which have very complex UIs (notably SQLite and StartUML), you can get a very good experience indeed. The limitations start to be felt when using fast motion graphics where the virtual screen content is changing so fast that it cannot be rendered in real time over the internet. If you have better bandwidth you will experience better performance and vice-versa. + + +### Installing your own projects + +#### Installing X Server +To install X Server, go to the menu **Tools->Install Software** and locate X Server. Press the install button in the X Server row. The installation may take a few minutes and you should then [restart](/project/ide/boxes/#restart-and-reset) your Box before proceeding. + +#### Running your code +Before you can view any output, your program needs to run, so you should first start your code. When you start the viewer (see below), the UI output will be shown automatically. + +![GUI Output](/img/guioutput.png) + +You also can start the viewer first but it will be empty until a program runs, whereupon it will refresh. + +#### The viewer +The viewer is a special window that appears either inside Codio or in a separate browser tab. To open it, you should add `"Viewer": "https://{{domain3000}}/"` to the .codio file. + +``` +{ +// Configure your Run and Preview buttons here. + +// Run button configuration + "commands": { + "Run Python (tkinter)": "python3 tkinterpy/demo.py", + "Run Java (Lunar Phases)": "cd swing && java LunarPhases", + "SQLite Browser App": "sqlitebrowser", + "StarUML": "staruml" + }, + +// Preview button configuration + "preview": { + "Viewer": "https://{{domain3000}}/" + } +} +``` + +You can also access the from any browser using `https://pagoda-cigar-3000.codio.io/` where you replace `pagoda-cigar` with your boxes domain name, which you can find in the menu at **Project->Box Info** (scroll to the section **Web: Static content**). + +#### Customization +You can customise the X Server installation by modifying the config files in the normal way using vim or nano. For example you can + +- `sudo vim /etc/init/openbox.conf` opens the openbox desktop config so you could change the default virtual desktop size +- `sudo vim /etc/init/novnc-3000.conf` would enable you to modify the port that the viewer runs on in case it conflicts with other services you may have configured on the default port 3000 + + +## Always-on boxes +Always-On Boxes are available for all paid subscribers. You can enable Box(es) to be Always-On. This means that it will remain active whether you are in the IDE or even logged out. If your project is archived due to inactivity (usually 30 days since last opened), this process removes it from the active fileserver and will also mean that it can no longer be 'Always-On'. The number of Always-On Boxes you can have depends on the subscription plan + +### Marking a Project as Always On +You can set a Box to Always-On from the **Project->Settings** menu if you're in the project. If you're in the Dashboard, select Projects to get the listing, then press the gear icon on the right side of the Project listing. You will be shown the settings screen where you can enable the Always On switch. + +### Keeping terminal processes running +When you exit your project in the IDE and return to the Dashboard, any processes that were started within a terminal window will terminate. + +You can prevent this in one of two ways. + +#### The simple way +One simple way to avoid this issue is to append `&` to the terminal command that starts your process. You will see output as usual but may need to press the enter key to get a fresh command prompt. + +Then, you will need to enter the following command before you close the terminal window or exit your project and return to the dashboard. + +```bash +disown -a +``` + +### tmux +As an alternative, you can install tmux. + +## SSH and code access - Codio box SSH keys +Codio generates a key-pair that can be used for services like Github, so you can upload your public key to those systems (read [this section](/dashboard/account/#github) for details on how to upload Github and Bitbucket public keys with a single button press). + +You can find your Codio public key as [described here](/dashboard/account/#public-key). + +When you create a new Codio project, your user keys are automatically copied into your project and can be found in the `~/.ssh` folder. You will need to open up a Terminal window to access this folder and the keys stored in the `id_rsa` file. +## SSH and code access -SSH into your box +Unless your project is utilising [Always On Boxes](/project/ide/boxes/#always-on-boxes) you will need to open your Codio Project in order for the Box to be started and ready to receive incoming SSH connections. + +### Generating Key Pairs +There are several sites that explain generating SSH keys. + +- Windows: [http://kb.siteground.com/how_to_generate_an_ssh_key_on_windows_using_putty/](http://kb.siteground.com/how_to_generate_an_ssh_key_on_windows_using_putty/). Please note that for Windows, you should generate SSH2 RSA key type +- Mac : [https://help.github.com/articles/generating-ssh-keys#platform-mac](https://help.github.com/articles/generating-ssh-keys#platform-mac) +- Linux: [https://help.github.com/articles/generating-ssh-keys#platform-linux](https://help.github.com/articles/generating-ssh-keys#platform-linux) + +### Find your local machine's SSH public Key +This is pretty easy to do. On a Mac or Linux box you can get your public key in one of two ways + +- **either** copy your local machine's public key to the clipboard from your local machine's terminal using `pbcopy < ~/.ssh/id_rsa.pub` +- **or** on your local machine, open the file `~/.ssh/id_rsa.pub` and copy it to the clipboard. Be careful with some editors that include control characters that you don't want to be copied across. + +On a Windows machine you'll probably be using putty, so grab your key from there. + +### Uploading your Public Key to your Codio Box +You need to upload the public key you just found in the above steps. Once you have it copied to the clipboard, open a terminal tab in your Codio project and enter this key into the `.ssh/authorized_keys` file. The easiest way to do this is to enter `nano .ssh/authorized_keys` which will open this file in the nano editor and you can paste it in. + +You can view/check to see all/any Public key(s) you have uploaded into your project by opening the terminal and running `cat ~/.ssh/authorized_keys`. + +### Enabling and Connecting to your Box from your local machine's Terminal + +1. Go to **Project>Settings** and to the [Forwarding Settings](/project/ide/settings/#project-settings) tab and click the 'Enable SSH Forwarding' button +1. The connection string you need to use is shown there + +You will see connection details like this +`SSH Forwarding: ssh codio@forwarding.codio.com:29119` + +You can now connect to your Box from any Terminal window using (in the above example) +`ssh codio@forwarding.codio.com -p 29119` + +If you get a message `Permission denied (publickey)` then you have not uploaded your SSH Public Key correctly. + +You cannot connect to a Codio Box without using a Public Key. +## IDE access permissions +By default, other users with read and write permissions are not able to access your Box from the command line. + +You can grant access to other Codio users by assigning the Admin permission level. This feature requires a paid subscription. + +For full details, please refer to the [Permissions section](/project/ide/settings/#project-permissions) of the documentation. +## Auto starting services +Your Box will be put to sleep under the conditions [explained here](/project/ide/boxes/#overview). When you open your project, the Box will start and services will start. Software installed using `Tools->Install Software` will be automatically configured to autostart. +If you have need to autostart other services, you can do so within a `startup.sh` bash script located in your project. +For the script to be included in the stack we'd recommend `/home/codio/startup.sh`. +If your project is using guides, you can use `.guides/startup.sh` or you can locate this file in the workspace although bear in mind that students may be able to access/edit files visible to them in the workspace. + +### Upstart/Systemd +Upstart can be used in Ubuntu 14.04 boxes. If you want to configure services to start when your box starts up, you should configure a `.conf` file. If you are not familiar with upstart, please Google it for configuration details. + + +Systemd can be used in Ubuntu 18.04 boxes. If you want to configure services to start when your box starts up, you should configure a `.service` file and run `sudo systemctl daemon-reload`. If you are not familiar with systemd, please Google it for configuration details. + +**Important** - you need to specify the user account under which the service is run using `setuid codio`. + +## Restart and reset +Codio offers the ability to restart and to reset your project's Box. You can find both options in the **Project** menu. + +### Restart +This operation reboots the Box, which usually takes a few seconds. + +### Reset +This operation is fairly destructive and should be used with caution. It resets the Box to its fresh state but leaves your code files untouched. + +- any new folders or files that have been created will be deleted +- all parts of the Box outside of the `~/workspace` folder will be reset +- all code files in the `~/workspace` folder are untouched +- a Box restart + +After a Reset, you will need to reinstall components (npm modules, ruby gems etc.) and other modifications you may have made. + +## Customizable run menu +A handy feature is the ability to add commonly used commands to the Codio IDE, akin to using the `alias` command from the command line. + +When the menu item is selected, a new terminal window will open to run the command in. You can also force the command to run in an existing terminal window as we illustrate below. + +### .codio file +The configuration for the **Run** (and **Preview**) button can be set by editing the `.codio` file in the root of your project. + +The following code below shows the `.codio` file configured to give this Run menu + +![Run Menu](/img/run-menu.png) + + +which is driven by the following `.codio` file + +```json +{ + // Configure your Run and Preview buttons here. + + // Run button configuration + "commands": { + "Install Learnyounode" : "npm install -g learnyounode", + "Run Lesson" : "./ns-executes.sh run {{filename_no_ext}} {{path}}", + "Verify Lesson" : "./ns-executes.sh verify {{filename_no_ext}} {{path}}", + "Completed Lessons" : "learnyounode", + "Run with Node" : "node {{filepath}} 3 4 5" + } +} +``` + +When you select a **Run** command, it will open a new console window where you will see the output. Pressing the **Run** button will execute the last selected command. + +### Using the same terminal window +If you want to avoid new terminal windows appearing when you run the command, you can use an id field. + +```json +{ + "commands": { + "Node version": { + "id": "terminal_1", + "cmd": "node --version" + }, + "ls": { + "id": "terminal_1", + "cmd": "ls" + } + }, + +// Preview button configuration + "preview": { + "Project Index (static)": "http://{{domain}}/{{index}}", + "Current File (static)": "http://{{domain}}/{{filepath}}", + "Box URL": "http://{{domain3000}}/" + } +} +``` + +- Commands with the same "id" will share the same terminal window. +- The terminal id should be "backend-guide" to execute a command in the terminal window opened by guides. + + + +### .codio Tokens +You can see from the above `.codio` sample that it is possible to insert tokens into the shell commands. The following tokens are currently available and operate in the main on the currently selected file tab in the IDE + +- `{{filepath}}` inserts the path and full file name `/path/to/file.ext` +- `{{path}}` inserts only the path to the selected file `/path/to/` +- `{{filename}}` inserts the filename with its extension `file.ext` +- `{{filename_no_ext}}` inserts the filename without the extension `file` +- `{{domain3000}}` inserts the public url to your box; `word1-word2-3000.codio.io` to access over port 80, which is useful if your corporate firewall blocks ports other than 80 and 443 +- `{{domain}}` inserts the alternate public url to your box; `word1-word2.codio.io`, be aware that you will usually need to specify a port to reach a service running on your Box. e.g. `word1-word2-.codio.io` + diff --git a/Source_graphics/project/ide/dir.ordered b/Source_graphics/project/ide/dir.ordered new file mode 100644 index 00000000..2a01ebbd --- /dev/null +++ b/Source_graphics/project/ide/dir.ordered @@ -0,0 +1,8 @@ +navigation +features +boxes +panels +editing +tools +customization + diff --git a/Source_graphics/project/ide/editing.md b/Source_graphics/project/ide/editing.md new file mode 100644 index 00000000..999cbb0a --- /dev/null +++ b/Source_graphics/project/ide/editing.md @@ -0,0 +1,753 @@ +--- +title: Code Editing + + +--- + +## Productivity, Emmet, Zen Coding +We have implemented lots of productivity features into the Codio IDE thanks to [Emmet](http://www.emmet.io), formerly Zen Coding. These features let you saves considerable time when working with HTML, CSS and Javascript files. + +##Standard Code Editor Keyboard Shortcuts +General keyboard shortcuts can be found [in this section](/project/ide/editing/#keyboard-shortcuts). All other productivity shortcuts are found here in this chapter. + +### Emmet Keyboard Shortcuts +A set of powerful [productivity shortcuts](/project/ide/editing/#special-keyboard-actions) for HTML5, CSS and Javascript. + +### Abbreviations +Thanks to our Emmet support, you get a large number of [HTML and CSS abbreviations](/project/ide/editing/#abbreviations_1) that expand to code, a bit like this + +```css +div>ul>li*3 +``` + +which expands to + +```html +
+
    +
  • +
  • +
  • +
+
+``` + +Be sure to check out the [complete reference](/project/ide/editing/#complete-reference) as there are an awful lot of abbreviations for you to take advantage of. + +### Emmet docs +We would strongly recommend having a good dig around the [Emmet documentation](http://docs.emmet.io/abbreviations/syntax/) for a detailed introduction into the general Emmet syntax. + +### Abbreviations +This is a way of generating HTML using a CSS selector inspired approach. Take a look at the following examples. + +You simply enter the abbreviation in the Code Editor and then press the Tab key to expand the abbreviation. + + +### Basic HTML Example + +```css +div>ul>li*3 +``` + +results in + +```html +
+
    +
  • +
  • +
  • +
+
+``` + + +### Juicier HTML Example + +```css +#page>div.logo+ul#navigation>li*5>a{Item $} +``` + +results in + +```html +
+ + +
+``` + +### Insertion Stops / Edit Points +Emmet offers some abbreviations that have insertion points. For example, + +```css +a:link +``` + +will insert + +```html + +``` + +Where the `|` character represents the cursor after insertion. After you have entered the `href` url you should press `ctrl+alt+right arrow` (not the Tab key) to jump to the next edit point. + +### More HTML Examples +Be sure to check out [HTML Abbreviations](http://docs.emmet.io/abbreviations/). + +And also take a look at the [cheat sheet](/project/ide/editing/#complete-reference) as there are an awful lot of abbreviations for you to take advantage of. + + +### CSS Examples + +`w100p` results in `width: 100%` +`m10p30e5x` results in `margin: 10% 30em 5ex` + +and + +```cs +p100+m10e +``` + +results in + +```css +padding: 100px; +margin: 10em; +``` + +and how about this for gradients + +```css +lg(left, #fc0, 30%, red) +``` + +results in + +```css +background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#fc0), color-stop(0.5, 30%), to(red)); +background-image: -webkit-linear-gradient(left, #fc0, 30%, red); +background-image: -moz-linear-gradient(left, #fc0, 30%, red); +background-image: -o-linear-gradient(left, #fc0, 30%, red); +background-image: linear-gradient(left, #fc0, 30%, red); +``` + +### Fuzzy Search +If you take a look at [cheat sheet](/project/ide/editing/#complete-reference), you’ll find that there are too many CSS snippets to remember. Also, some of them might be a bit lengthy for sake of logical separation. + +To make CSS writing a bit easier, Emmet implements fuzzy search logic for CSS snippets: every time you enter an unknown abbreviation, Emmet will try to find the closest snippet definition. + +For example, instead of writing `ov:h` (overflow: hidden;) abbreviation, you can write `ov-h`, `ovh` or even `oh`. You can play around with the fuzzy search in text editor below. Try to find as many variations as possible (use Tab key to expand abbreviations) for `bxz:cb`, `ovx:h` and `pos:a` snippets. + +### More CSS Examples +For more details on CSS abbreviations, please go to the [Emmet documentation](http://docs.emmet.io/css-abbreviations/) and be sure to look at the sub-chapters. + +But also be sure to check out the [cheat sheet](/project/ide/editing/#complete-reference). + +### Special keyboard actions +Emmet also offers a very nice range of keyboard shortcuts to speed productivity even further. Keyboard actions can be modified in [Preferences](/project/ide/settings/#user-preferences) + +### Match Tag Pair +`Mac:Cmd+D (inward) and Shift+Cmd+D (outward)` +`WinLin:Ctrl+D (inward) and Shift+Ctrl+D (outward)` + + +A well-known tag balancing: searches for tag or tag's content bounds from current cursor position and selects it. It will expand (outward balancing) or shrink (inward balancing) selection when called multiple times. Not every editor supports both inward and outward balancing due of some implementation issues, most editors have outward balancing only. + +Click here to see it in the Emmet site. + + +### Go To Matching Pair +`Mac: Shift+Cmd+T` +`Win: Shift+Ctrl+T` + + +In HTML, allows you to quickly traverse between opening and closing tag. + +Click here to see it in the Emmet site. + + +### Wrap with Abbreviation + `Mac/Win: Shift+Cmd+A` + +A very powerful feature, it takes an abbreviation, expands it and places currently selected content in the last element of generated snippet. If there’s no selection, action will silently call “Match Tag Pair” to wrap context element. + +Click here to see it in the Emmet site. + + +### Go to Edit Point +`Win: Ctrl+Alt+Right Arrow or Left Arrow` + +This action works for HTML code blocks and allows you to quickly traverse between important code points: + +- between tags +- empty attributes +- newlines with indentation + +Click here to see it in the Emmet site. + + +### Select Item +`Mac/Win: Shift+Cmd+` + +Action is similar to “Go to Edit Point”, but selects important code parts. + +In HTML, these are tag name, full attribute and attribute value. For class attribute it also selects distinct classes. + +In CSS, it matches selector, full property and property value. For complex values and functions like 1px solid red or url(image.jpg) also selects part of it. + +Click here to see it in the Emmet site. + + +### Toggle Comment +`Mac: Cmd+/` +`Win: Ctrl+/` + + +This action, as name says, toggles comments on and off for the selected line. Works nicely in CSS and HTML files. + +Click here to see it in the Emmet site. + + +### Remove Tag +`Mac: Cmd+K` +`Win: Ctrl+K` + + +Quickly removes tag, found by “Match Tag Pair” from current cursor position, and adjusts indentation. + +Click here to see it in the Emmet site. + +### Merge Lines +`Mac: Shift+Cmd+M` +`Win: Shift+Ctrl+M` + + +Merges selected lines into a single line. But when there’s no selection, will match context HTML tag. + +Click here to see it in the Emmet site. + + +### Inline Calculator +`Mac: Shift+Cmd+Y` +`Win: Shift+Ctrl+Y` + + +Evaluates simple math expressions like 2*4 or 10/2 and outputs its result. You can use `\` operator which is equivalent to round(a/b). + +Very useful in CSS where numeric values should be modified frequently. + +Click here to see it in the Emmet site. + + +### Increment/Decrement Number +`Mac/Win : Alt+Up/Down (inc/dec by 0.1)` +`Mac/Win : Ctrl+Up/Down (inc/dec by 1)` +`Mac/Win : Ctrl+Alt+Up/Down (inc/dec by 10)` + + +This action, as name says, increments or decrements the number under the cursor with different steps: 0.1, 1 or 10. + +Click here to see it in the Emmet site. + + + +### Complete reference +Emmet has a huge number of shortcuts available. Check out the [Emmet Cheat Sheet](http://docs.emmet.io/cheat-sheet/) + +![Emmet Cheat Sheet](/img/emmet-ref.png) +## Git, Mercurial & SVN +Git, Mercurial and SVN are all preinstalled, so you can [open up a Terminal window](/project/ide/boxes/#terminal-window) to access them from the command line. + +You can also configure your `.codio` file so common commands are accessible from the **Run** menu in the Codio IDE. [Refer to the Boxes documentation](/project/ide/boxes/#customizable-run-menu) on how to do this. + +### A few Git helpers +We have added a few Git helpers to the **Tools->Git** menu. + +![git overview](/img/git-overview.png) +### Using Git without remote repos +You can use Git commands within your Codio project without needing to ever set up a remote repo. This gives you not only collaborative capabilities, but also comprehensive version control. + +However, one of the benefits of a distributed Source Control Management system is that having your code in more than one place means that there is no single point of failure. For this reason, we recommend that you use a third party provider such as GitHub as an external location to back up your data. +### Viewing GitHub repos +GitHub let's you browse around a repo but it's not the same as using an IDE. Codio gives you a great way of viewing any GitHub (or Git) repo. For web apps, you can even run and [preview](/project/ide/features/#preview) within Codio. + +### Offering link/button in the repo readme.md file + +This is great for anyone wanting to offer a link into a GitHub README page and then, when clicked, it initiates the creation of a project, importing in from the repo for the user in their Codio account. + +The advantage of this approach is that changes you make to your repo will be automatically shown in Codio as it creates a brand new Codio project whenever clicked on. If a project of that name already exists, users can change the name on the project creation page. + +![create from GitHub](/img/github-readme.png) + + +You just use the following link format in your GitHub README file (or anywhere else for that matter). + +``` +https://codio.com/home/projects/new?importType=git&activeTab=3&name=your_codio_project_name&importGitUrl=git@github.com:your_github_name/your_repo_name&stackVersion=stack_version_id + +``` + +In some cases, you may want to specify a specific branch. The common usage for this is if you have a demo or GitHub Pages site that you want to load into Codio. In this case you do the following + +``` +https://codio.com/home/projects/new?importType=git&activeTab=3&name=your_codio_project_name&importGitUrl=git@github.com:your_github_name/your_repo_name&branch=other_branch&stackVersion=stack_version_id + +``` + +### Finding the stack version ID + +Go to the **Stacks** area and find the appropriate stack you wish to be used with your repo. Select **Use Stack** and from the address bar you will see the stack version ID to add to your link + +Example showing the **Empty Stack** stack version ID + +![Empty Stack Version ID](/img/stackversionid.png) + + + +You are free to use any way of linking to Codio but we would recommend using the following images + +![show](https://codio-public.s3.amazonaws.com/sharing/open-in-ide.png) +![show](https://codio-public.s3.amazonaws.com/sharing/demo-in-ide.png) + + + + +### How to manually import a Git repo into Codio + +![create from GitHub](/img/github-clone-url.png) + + +- If you are on the GitHub site and looking at a repo, you will see the **Clone URL** link (circled above). +- Click to copy the link to the clipboard; if you clone using SSH, you must have added the Codio SSH public key first as [described here](/dashboard/account/#public-key) +- Login to Codio +- Click on **New Project** and then the **Click here** for more options +- Select **Import** and then from the **Source** drop-down, select **Git** +- Paste in the Git URL (see below) and add any additional details you require +- Press **Create** and Codio will load the repo and then display it + +![create from GitHub](/img/github-create.png) + + +### Resources +If you are new to Git, then here are some resources to get you started. + +- [Git is simpler than you think](http://nfarina.com/post/9868516270/git-is-simpler) (this is worth reading as it explains HOW Git works rather than teaching you usage) +- [Git reference](http://git-scm.com/docs) +- [Introduction to Git by Scott Chacon](http://git-scm.com/book) + +Here is a list of more Git Tutorials in case you want some choice + + +- [10 Git Tutorials for beginners](http://sixrevisions.com/resources/git-Tutorials-beginners/) +### SSH keys +To transfer your public key to Github or other remotes, please refer to this [section](/dashboard/account/#public-key). There is a section on this page that describes setting up keys with Github. + +You may also want to refer to [SSH Keys in the Boxes section](/project/ide/boxes/#ssh-and-code-access-codio-box-ssh-keys). +### Very basic Git tutorial + +This is not supposed to be a proper Git tutorial in any sense. Its purpose is to show anyone who is new to Git or Codio how to use it to get all the basic things done. + +For a proper, in-depth overview of Git, refer to the [resources](/project/ide/editing/#resources) page. + +Please make sure you read this excellent overview if you are new to Git : [http://git-scm.com/book/en/Getting-Started-Git-Basics](http://git-scm.com/book/en/Getting-Started-Git-Basics) + +### GitHub Keys +If you're using GitHub, it is recommended that you use the SSH remote url rather than HTTPS. In order to do this, however, you should first make sure that your Codio public key is loaded into your GitHub account or repo settings. This whole process is [described here](/dashboard/account/#public-key). + +### Experimentation +The best way to learn Git is to create a really simple project with a few text files in it and then experiment like crazy. You can play around with all the Git commands and sync with GitHub repos to your heart's content without worrying about doing any coding. + +Once you have done this for a while, you will feel a lot more comfortable about using Git for your precious code. + +### Your project's starting point + +#### You created a project by importing from a Git repo +If you have code that already exists in a remote repo, say GitHub, then you should create a new project by importing from that repo. That will automatically load the project and set up the correct association with the remote Git repo. + +Creating a project is [fully described here](/project/projects/#creating-and-importing-a-project). + +#### I do not yet have a remote repo +If you have code within Codio and you want to create a brand new GitHub (or other remote) repo, then follow these steps. + +1. Create a new project in Codio or open up an existing one. +1. Open the terminal (Tools > Terminal) and initialize git by typing "git init" and pressing enter +1. Create a new, empty repo on GitHub or other provider. +1. Copy the repo url to the clipboard. If you're using GitHub, use the SSH url rather than https and you should make sure that your Codio public key is loaded into your GitHub account or repo settings as [described here](/dashboard/account/#public-key) + +![github repo](/img/github-new-repo.png) + +1. Within the IDE, go to **Tools > Git > Remotes** +1. It is recommended you use `origin` as the name to confirm the normal standards. You do not need to specify a username or password if you are using SSH. +1. Paste the remote url into the URL field. +![git overview](/img/git-remotes.png) + + +### Check the status with 'git status' +Whenever you want to see what the Git status of your project is enter `git status`. Initially, you will see that there is nothing to report + +```bash +$ git status +# On branch master nothing to commit, working directory clean +``` + +### Tracking files +Codio uses Git by default and if you import a project from a Git repo, all the existing files will already be 'tracked' (explained in the next section). Any new files you add will need to be tracked using a Git command. + +Tracking means that Git knows about them. If you add a new file, Git will not know about it and needs to be explicitly told. + +1. Add a new file (`test.txt`) and add a few random characters to it. +1. Open any other existing file (I chose humans.txt) and make a small, harmless change to it. +1. Run `git status` again and you should see + +```bash +# On branch master ` +# Changes not staged for commit:` +# (use "git add ..." to update what will be committed) +# (use "git checkout -- ..." to discard changes in working directory) +# +# modified: humans.txt +# +# Untracked files: +# (use "git add ..." to include in what will be committed) +# +# test.txt no changes added to commit (use "git add" and/or "git commit -a") +``` + +This shows you the modified and the new (untracked) files. + +To tell GitHub to track the file, you can do one of the following + +- `git add .` which tells Git to track all files in the project that are not yet tracked. This is the quickest and simplest way to track any new files. +- `git add FILENAME` explicitly tracks a single file + +### Staged Files +A staged file is one that is tracked and is ready to commit into the repository. Once you run `git add` you are tracking and staging that file. But if you modify a tracked file, the modifications are not staged. To correctly stage them, you need to rerun `git add`. + +### Committing your changes +Committing means that you want to add your staged, files into the repository. There are two ways to do this... + +- `git commit -m 'commit message'` will take all staged files and commit them to the repo. +- `git commit -a -m 'commit message'` will do the same but the `-a` switch tells Git to automatically stage any tracked files before committing them. This means that you don't have to use `git add` at all (unless you want to add new, untracked files). + +The commit message is important as it allows you to see what general changes were involved in the commit. This can be useful when you want to look back a few days later and no longer remember what was in the commit. + +So I entered `git commit -a -m "added test.txt and modified some stuff"` and get + +```bash +[master d3e6bb1] added test.txt and modified some stuff +2 files changed, 2 insertions(+) +create mode 100644 test.txt` +``` + +and if I run a `git status` afterwards, I will see that everything is clean and up-to-date. + +```bash +# On branch master nothing to commit, working directory clean +``` + + +### Reverting +One of the nice things you can do is to revert your code back to an earlier commit. `git revert` is the command for rolling back like this. There are a number of ways to use this, simple uses are + +- `git revert 'commit id'` reverts back to the SHA (uid) you can see when you type `git log` +- `git revert HEAD` will revert back to the last commit, throwing away any uncommitted changes +- `git revert HEAD~n` for example HEAD~3 will revert to the 4rd last commit. +- `git revert HEAD^^^` (count of ^ is like ~n) will also revert back to the 4th last commit + +There are more advanced usages which you should read up on such as the `-n`. Try [looking here](http://git-scm.com/docs/git-revert.html). + + +### Pushing to a remote repository +If you want to send your committed changes to a remote repository, you will use the `git push` command. First, however, you need to make sure that you have a `remote` set up. + +If you created your repository by importing from a Git repo, then the remote will have automatically been created. + +If you want to create a new remote repository, then you will have already done this as described at the top of this page. + +So all you need to do is enter `git push origin master` . Let's dissect this command + +- `origin` is the name of the remote repo. In most cases, this will be called origin, but is not necessarily so. +- `master` is the name of the branch. When you create a new Codio project, a `master` branch is automatically created and appears in brackets at the top of the file tree next to the project name. Branches are beyond the scope of this topic but they are definitely worth investigating as they are a very powerful feature of Git. + + +If you now go to GitHub and look at the repository, you will see that your changes are pushed. You can also see the commits you made. + +### Pulling from a remote repository +Now let's say that someone else is working remotely on the same code (let's assume they are not using Codio). They will push their code to the GitHub repo, too. + +By running `git pull origin master`, we pull in changes from the remote repo and Git will automatically merge them. + +### Resolving Conflicts +When you pull in from the remote, you may get a conflict warning. This will happen if someone else has modified code in a way that Git cannot automatically resolve, usually because you have been editing the same bit of code. + +When this happens, you will need to resolve the conflict. If you open up the file, you will see something like this + +```bash +<<<<<<< HEAD:index.html + +======= + +>>>>>>> iss53:index.html +``` +You simply need to remove the code block that you want to dispose of. The top block is your code and the bottom comes from the code being merged. If you want to keep your code, you will want to end up with + +```html + +``` + +if you want the merged code to remain, it will be + +```html + +``` + +To minimize conflicts, you should 1. Commit little and often and 2. Pull from the remote master often. + +### Branches +Branches are important and worth mastering at an early stage. When you create a branch, you are creating a new area to code within. You then `merge` another branch, usually the `master` branch, into your new branch. From this point on, you can do whatever you want (add, commit, push etc) without impacting on the `master` branch on any other branch for that matter. + +For a full overview on branching, please [read this](http://git-scm.com/book/en/Git-Branching-What-a-Branch-Is) + +The commands you will need to master are + +- `git branch` - creates a new branch +- `git checkout` - switches to that branch (be careful about doing this without committing the branch you are leaving as any unstaged files will be lost) +- `git merge from-branch` - merges code from `from-branch` into your current branch + +Good practice is to switch over to your master branch and pull in changes from the remote (if you're using one). Then switch back to your working branch and merge in changes. Doing this ensures that conflicts are kept to a minimum. + +### GitHub and other remotes +Most people will want to push to Github and other remote repos. There are various ways to manage this within Codio. + +### Remotes and Github +To work with Github, you need to set up your SSH keys properly as [described here](/dashboard/account/#public-key). + +#### I have a remote repo +If your starting point is a remote repo, then you should create a new project from the Codio dashboard. Create Project is an option above your project listings. + +You should select the Git tab and enter in the ssh url. This will then create your Codio project by cloning the remote repo you specify and that remote repo will automatically be logged within that project. + +#### I do not yet have a remote repo +If you have code within Codio and you want to configure it to synchronize with a remote repo, then you should to the following + +1. Create a new, empty repo on Github or other provider. +2. Copy the repo url to the clipboard. If you're using Github, then use the SSH url rather than https. +2. Within the IDE, go to **Tools->Git->Remotes** +3. Complete the dialog as shown below. It is recommended you use `origin` as the name to confirm the normal standards. You do not need to specify a username or password if you are using SSH. + +![git overview](/img/git-remotes.png) + + +If you prefer, you can use the command line interface to achieve the same thing using `git remote`. + +Once you have set up your remotes, you can now perform sharing and updating commands (push, pull etc.) from Codio's git command line. + +Try pushing your code to the remote using `git push --set-upstream origin master`. From now on you can use simply `git push` as the set-upstream command ensure `origin master` is used by default. + +### Simplified Git Steps +We will not attempt any sort of tutorial here, but the following steps cover the absolute basics of Git usage with a remote. If you are new to Git, then you should refer to the [resources page](/project/ide/editing/#resources). + +- `git status` gives you the status of your current branch +- `git add .` adds all files, tracked or not, to the staged files +- `git commit -a -m` stages and commits all files to the snapshot +- The first time you push, run the following command to track the new remote `git push --set-upstream origin master` +- Subsequent pushes can be done with `git push`, which pushes all committed changes of the `master` branch to the tracked remote (origin). + + + +### Active branch +You can see which branch you are on by looking in the file tree. The top level item is the project name and to the right of this in brackets is the current branch. + +You may switch branches using the command line interface or the **Tools > Git > Switch Branch** menu item. + +![Git Active](/img/git-active-branch.png) +## Keyboard shortcuts +You have full control over the keyboard shortcuts for code editing. You should refer to the [Codio Preferences](/project/ide/settings/#user-preferences) section to read more about this. + +Codio has its own complete set of defaults, all of which can be overriden. You can use Vim or Emacs key bindings by modifying the `keymap` preference setting. If you do not use `keymap=default`, you cannot override keyboard shortcuts. + +The sections that contain productivity specific actions and shortcuts are `[Editor]` and `[Emmet]`. + +## Multiple cursors +You can place multiple cursors anywhere in a file using `Cmd+Click` (Mac) or `Ctrl+Click` (PC/Linux). + +Click to place the cursor at the desired location, then press and hold Cmd/Ctrl and begin clicking at new locations. When you release Cmd/Ctrl, you can start typing and the content will be duplicated at all cursor locations. + +You can also use `Alt-Click` to place the cursor everywhere inbetween a start and end position. + +![authtoken](/img/multiple-cursor.gif) +## Search and replace +Codio supports local and global search and replace. You can access these feature by hotkey or from the Find menu. + +Hotkey shortcuts can be seen in the Find menu. You can override these from [Preferences](/project/ide/settings/#user-preferences). + +### Local +Search and replace is supported on the currently selected file. + +The hotkeys are defined in [Preferences](/project/ide/settings/#user-preferences) and the defaults are + +```ini +;Find. +; Type: hotkey +key_find = Cmd+F + +;Find next. +; Type: hotkey +key_find_next = Cmd+G + +;Find previous. +; Type: hotkey +key_find_prev = Shift+Cmd+G + +;Replace. +; Type: hotkey +key_replace = Cmd+Alt+F + +;Replace all. +; Type: hotkey +key_replace_all = Shift+Cmd+Alt+F +``` + +### Global +Global search and replace are available within the **Find** menu under **Find in project** and **Replace in project**. + +You can search using regular expressions, ignore case and whole word settings. The buttons on the left of the input fields control these settings. + +![authtoken](/img/global-search.png) + +Once the search operation has completed you will see matches listed in a Codio tab. Double click on the highlighted match to open up that file in a new tab. + +![global search dialog](/img/search-matches.png) + + +### Pattern & Wildcard Matching (Globs) +When you are searching, you can specify a search pattern in the **Where** field. + +Lets say you have the following project + +```bash +|-- lib +| |-- index.js +| |-- hello_world.js +|-- index.html +|-- 404.html +|-- app.js +`-- gruntfile.coffee +``` + +then you can use globs to select files in this way: + +* All files ending in `.js`: `**/*.js`. + * `index.js` + * `hello_world.js` + * `app.js` +* All files ending in `.html` in the root folder: `*.html` + * `index.html` + * `404.html` +* All files in `lib`: `lib/*.*` + * `index.js` + * `hello_world.js` +* All files ending in `.html` or `.coffee`: `**/*{.html,.coffee}` + * `index.html` + * `404.html` + * `gruntfile.coffee` +* All files beginning with `index`: `**/index*` + * `index.js` + * `index.html` + +#### Basic Rules + +Any character that appears in a pattern, other than the special pattern characters described below, matches itself. The NULL character may not occur in a pattern. A backslash escapes the following character; the escaping backslash is discarded when matching. The special pattern characters must be quoted if they are to be matched literally. + +The special pattern characters have the following meanings: + +* `*` Matches any string, including the null string. When the globstar shell option is enabled, and `*` is used in a filename expansion context, two adjacent `*`s used as a single pattern will match all files and zero or more directories and subdirectories. If followed by a `/`, two adjacent `*`s will match only directories and subdirectories. + +* `?` Matches any single character. + +* `[…]` Matches any one of the enclosed characters. A pair of characters separated by a hyphen denotes a range expression; any character that sorts between those two characters, inclusive, using the current locale's collating sequence and character set, is matched. If the first character following the `[` is a `!` or a `^` then any character not enclosed is matched. A `-` may be matched by including it as the first or last character in the set. A `]` may be matched by including it as the first character in the set. + + A character class matches any character belonging to that class. The word character class matches letters, digits, and the character `_`. + + Within `[` and `]`, an equivalence class can be specified using the syntax `[=c=]`, which matches all characters with the same collation weight (as defined by the current locale) as the character c. + + Within `[` and `]`, the syntax [.symbol.] matches the collating symbol symbol. + +* `?(pattern-list)` Matches zero or one occurrence of the given patterns. + +* `*(pattern-list)` Matches zero or more occurrences of the given patterns. + +* `+(pattern-list)` Matches one or more occurrences of the given patterns. + +* `@(pattern-list)` Matches one of the given patterns. + +* `!(pattern-list)` Matches anything except one of the given patterns. + +## Color preview and picker +### Regular Colors +If you are in any file, of any type, that contains something that looks like an RGB hex value, rgb(100, 100, 100), hsla(0,100%,50%,0.2) etc., just hover over the code and a popup will appear that shows the color preview. + +![authtoken](/img/color-preview.png) + + +### Gradients +This works for gradients as well. + +![authtoken](/img/gradient-preview.png) + +### Color Picker +If you move your mouse into the color preview area and then click, a color picker dialog will appear that allows you to choose a new color. You can drag things around as well as edit the values directly. + +![authtoken](/img/picker-1.png) + +![authtoken](/img/picker-2.png) + + +## Beautify javascript +You can format your Javascript code by pressing the keyboard shortcut as defined in the [User Preferences](/project/ide/settings/#user-preferences). By default, it is + +- `key_format_code` = `Cmd+Alt+F` (for a Mac) +- `key_format_code` = `Ctrl+Alt+F` (for anything else) + +It will indent your code correctly and manage spaces and other cool things. + +For example, if you start out with this + +```js +if ('this_is'==/an_example/){of_beautifer();}else{var a=b?(c%d):e[f];} +``` + +Then after beautifying, you will end up with this + +```js +if ('this_is' == /an_example/) { + of_beautifer(); +} else { + var a = b ? (c % d) : e[f]; +} +``` + +### Settings +If you look within the [code-beautifier] section of the Codio Preferences, you will see the various beautification settings available. + +Don't forget, you can force these in [Project preferences](/project/ide/settings/#project-preferences) if you want to have consistently beautified code regardless of who edits your code. + +## Force language highlighting +Codio will automatically select the syntax highlighting rules based on the file extension. + +If you open a file whose extension is not known then you will not get any highlighting of the code. You can tell Codio which language formatting to use by clicking on the name in the status bar of the code window. + +![authtoken](/img/ide-force-lang.png) + +You can override the language highlighting by clicking as shown (circled) in the above screenshot. \ No newline at end of file diff --git a/Source_graphics/project/ide/features.md b/Source_graphics/project/ide/features.md new file mode 100644 index 00000000..14230e7f --- /dev/null +++ b/Source_graphics/project/ide/features.md @@ -0,0 +1,449 @@ +--- +title: Advanced IDE Features + + +--- + + +Our IDE features also include autocomplete, code-folding, key-bindings, line-numbering, multiple cursors, detailed control over visual themes and preferences, key bindings, standard and regex search and replace. + +Additional advanced features include multiple code panels and syntax highlighting support for all programming languages. + +## Debugging +Codio offers an integrated, language specific debugger. Codio currently supports the following languages. + +- Java +- Python 2 +- Python 3 +- NodeJS +- C and C++ + +If you would like support for any languages that do not appear in the list, please [contact us](/dashboard/support/) and we can look into adding it. + +### Sample project +If you created the account for your Codio Trial account then you will find **Demo Codio Debugger** in your My Projects list. You will find instructions in the README.md file when you open the project. + +If you cannot see it then [click here](https://codio.com/home/starter-packs/b83690d5-6ff5-4f86-970a-768292c70aec/) to create it now. Press the **Use Pack** button to install. + +### Video overview +For anyone who has not used a debugger before, here is a useful video tutorial. + + + +### Prerequisites +If you install Java, C or NodeJS from a stack, then the GBD components that support debugging will be automatically installed. However, if you have installed these languages manually then when you run the debugger, you will get a warning telling you to install the GDB component. A link will be provided to the Install Software feature that allows you to install it with a single click. + + + + +### Creating and managing debug targets +You should first configure a debug target. Having multiple debug targets is useful for the following reasons. + +- It allows you to quickly debug the same application with different command line arguments, allowing you to test different scenarios. +- You can debug more than one application. + +You manage debug targets from the following locations + +- the rightmost toolbar menu item, select the **Configure...** option +- **Tools->Debugger Settings** + +This will bring up the list of any debug targets you may have previously configured. + +![authtoken](/img/debug-targets.png) + +To create a new target, press the Create button. You can then configure your target. You can also edit any existing debug target. The following parameters can be configured. + +- The programming language +- A friendly name to give the configuration +- The command to execute to your program along with any command line parameters you may wish to include +- Any command to execute before debugging starts. This is usually a compile process. +- You can also reference the active file in use using {{filepath}} token which inserts the path and full file name /path/to/file.ext + +![authtoken](/img/debug-target.png) + +When creating a new target, you are also shown the debugger port and instruction but these can typically be ignored. + +### Single file confgurations +If you are using C, C++ or Java and debugging a simple single code file project (common in early programmng courses) then you should choose Single C File, Single C++ file or Single Java file Debugger Type. This frees you from having to worry about the detailed compile and run configuration. + + +#### Language specific compilation commands +If you are not using a single file configuration then you will need to provide the following information + +- **Before Launch** will typically be a compilation or build command +- **Launch** will be the command to launch the program + +In java you are asked for a port number, which should always be set to `5105`. + +### Starting a debugging session +There are two ways you can launch an application in debug mode. + +- from the rightmost toolbar menu you can select the debug target from the dropdown menu or just press the button to re-run the last executed debug target. +- from the debug targets list you can press the **Debug** button. + +![authtoken](/img/debug-launch.png) + +At this point, the debugger will fire up and you will see a screen similar to the one show below. + +![authtoken](/img/debug-started.png) + +You may need to wait a second or two for the debugger to load. It will automatically stop on the first line of code, regardless of whether there is a breakpoint set or not. + +### Breakpoints +A breakpoint is a line of code where the debugger will pause code execution if in debug mode. To set a breakpoint you click in the gutter next to the line number. You can remove a breakpoint in the same way. + +When a breakpoint is set, a red dot will appear on the line. + +### Controlling the debugger +Once the debugger stops code execution you can control execution using the buttons at the top of the debug panel. + +![authtoken](/img/debug-buttons.png) + +- **Resume** - this tells the debugger to carry on execution without stopping until another breakpoint is encountered. +- **Stop** - execution will stop and the debug window will be closed. +- **Step over** - the debugger will execute the next line of code and then stop. If the line of code about to be executed is a function, then it will execute the contents of that function but will not stop within it unless the function contains a breakpoint. +- **Step into** - the debugger will execute the next line of code and then stop. If the line of code about to be executed is a function, then it will stop on the first line within that function. +- **Step out** - the debugger will exit the current function and stop on the next line of the calling function. If the current line is the main entry function of the application then execution will cease but and the debugger will restart automatically. + +### Other features +The debug panel also contains other useful features. + +- **Call stack** - this shows the parent functions relative to the function that contains the currently executing line of code. +- **Local variables** - all local variables of the current function and their current values are automatically displayed. +- **Watches** - this allows you to watch a specific variable, and for some languages also expressions, +- **Breakpoints** - this lists all the breakpoints currently set in any of your code files. You can disable them by unchecking the boxes. +- **Console** - the console has two main functions; it displays status messages from the system in bold and your code can output data there by writing output to the console (for example a `print('message')` statement in Python). + +### Support for the standard input when debugging + +Support for stdin is available for: + +- C/C++ +- Node.js +- GDB + +Node example: + +```javascript +function testStdIn() { + console.log("What is your name?"); + process.stdin.once('data', (chunk) => { + let name = chunk.toString(); + console.log("Hello, " + name + "!"); + }); +} + +testStdIn() +``` + +### Launching the debugger from Codio content +It is also possible to launch any debugger configuration from a page. Please [click here](/courses/authoring/#custom-buttons) for details. + + + + +## JUnit testing framework +Codio provides a simple way to execute [JUnit](https://junit.org/junit4/) tests for Java in your project. + +To use JUnit, your project requires Java and so should + +- either use the [Java 8](https://codio.com/home/stacks/cf71b65b-ab7a-4f9b-9885-34009fccb476/?tab=details) stack +- or you should have manually installed Java in your box +- or install from **Tools>Install Software**. See [Installing Software Packages](/project/ide/boxes/#installing-software-packages) for more information + +### Configuration +Open the JUnit dialog **Tools->JUnit** or use the **Shift+Alt+J** hotkey. Then configure the + +- **Source path** is the location of the student source code +- **Test source path** is the location of the test cases source folder +- **Library path** is the path to any libraries used by the student application +- **Working directory** is the path where the compiled student code should execute + +All paths are relative to the root of the workspace folder. + +![junit](/img/junit.png) + +Individual test cases can be added + +- by specifying the paths to a file with JUnit tests in the add test case fields +- or by dragging and dropping the file into the JUnit tab. + +***Please note*** that if using multiple cases in an assignment/project, the files for each should all be in separate folders for them to work independently of each other. This applies to student code files as well as the code used for the cases. + +### Timeout settings + +The default timeout for JUnit execution is 30 seconds but you can change this as required in user or project preferences. You can also change the default hotkey to access JUnit if required as well + +![junitsettings](/img/junitsettings.png) + +To ensure that the same settings apply to students may use the project within a class, we would recommend you change this as a [project preference](/project/ide/settings/#project-preferences) + +### Execution +You can Execute the tests from the **JUnits Execution** tab. Once completed, the results will be listed below. + +![junitexecute](/img/junitexecution.png) + +If you publish your project as a unit to a class, the JUnit configurations you set up will be included in the Unit for students. +### Autocomplete +Autocomplete is supported within HTML, CSS and Javascript files. Just type away and we will automatically show you matches for what you are typing. + +If you don't like your auto-complete auto-completing, just set the preference `automatic_completions = false`. + +Other languages are supported with **language server protocol** although in such files, autocomplete is not automatically involved. See [language server protocol](/project/ide/boxes/#language-server-protocol) for more information. + +### HTML Tags +Auto complete is context sensitive, so you will only be shown Tags that are relevant to your location within the HTML file. + +For example, if you are not within ``, you will see a much reduced set of options in the auto complete popup. However, place your cursor inside the `` tags and you will see the full list of standard HTML tags. + +### HTML Attribtues +If you have entered `` tag. + +### Tern & Javascript +We support intelligent autocomplete using TernJS. Tern also support explicit directives in the `.tern-project` file you can place in the root of your project. + +This file looks like this + +```json +{ + "libs": [ + "browser", + "jquery" + ], + "loadEagerly": [ + "importantfile.js" + ], + "plugins": { + "requirejs": { + "baseURL": "./", + "paths": {} + } + } +} +``` + +You should note that Codio currently only supports autocomplete for the currently opened file as well as items specified in the `libs` section of the `.tern-project` file. + +Please refer to the [Tern documentation](https://ternjs.net/doc/manual.html#configuration) for full details on how to configure this file. + + +### CSS +Use `ctrl+space` within your CSS to invoke auto complete. +## Command bar +The Command Bar allows you to access almost all of the Codio actions from a searchable list. It is also a great way of looking up keyboard shortcuts without having to explore the menu. + +You invoke the Command Bar with + +- **Tools > Command Bar** +- `Cmd+Shift+P` (Mac) / `Ctrl+Shift+P` (PC/Linux) + +You will then see the following popup dialog. + +![Command Bar](/img/command-bar.png) + +Now just start typing and the list will refine as you type. + +## Copying a project +You can copy any 3rd party public project into your account going to `Project>Create Copy`. If you are looking at a copied project, then it will look like this. + +![Copied Project](/img/fork-ide.png) + +If you are signed into Codio, copying a project will create the copy in your account. + +If the project owner has allowed box cloning you will also be able to clone the box as well as the project. + +![Clone box](/img/fork-clone.png) + +## Code beautification +You can format your code by pressing the keyboard shortcut as defined in the [User Preferences](/project/ide/settings/#user-preferences). By default, it is + +- `key_format_code` = `Cmd+Shift+B` (for a Mac) +- `key_format_code` = `Ctrl+Shift+B` (for anything else) + +It will indent your code correctly and manage spaces and other cool things. + +For example, if you start out with this + +```js +if ('this_is'==/an_example/){of_beautifer();}else{var a=b?(c%d):e[f];} +``` + +Then after beautifying, you will end up with this + +```js +if ('this_is' == /an_example/) { + of_beautifer(); +} else { + var a = b ? (c % d) : e[f]; +} +``` +### Settings + +If you look within the `[code-beautifier]` section of the Codio Preferences, you will see the various beautification settings available. + +Don't forget, you can force these at the [Project level preferences](/project/ide/settings/#project-preferences) if you want to have consistently beautified code regardless of who edits your code. + +## Preview +It is important to understand the difference between Static and Dynamic content when using the Preview menu options. Codio provides a configurable menu item for Dynamic/Server Side content (rightmost Codio menu) as well as Static content. + +### Static content +You can use **Preview static** options on Static content only (HTML, CSS, JS and text). +You can also preview static content on your mobile device easily using **Project>QR Code for Preview URL** to generate a QR code you can scan with a QR Reader on your device. + +### Dynamic content +To access files or services that are executed on the server (PHP, Ruby, Node etc.), you need to use the right-most menu option. You can access your server side application by: + +- word1-word2-port.codio.io which will access your box over port 80, which is useful if your corporate firewall blocks ports other than 80 and 443. + + + +`word1-word2` is an automatically generated subdomain name for your Codio Box. You can configure your application to listen on ports defining the port in the URL, but please be aware than Codio supported a restricted range of ports. Please refer to [this section](/project/ide/boxes/#accessing-boxes-and-ports) for more details. + +Read on for information on how to configure your Static and Dynamic preview menus. + +### Instructions +The Preview button lets you preview one or more web pages with a simple button press. Codio creates three default entries in the Preview menu automatically. + +![authtoken](/img/preview-deploy.png) + + +- **Project Index** - this is the default file to run for your project. It can be set by right-clicking a file in the file tree. This option should only be used to preview static content (typically `.html` files). For PHP, Ruby etc. you should use the **Box URL** option. +- **Current File** - whichever code file currently has focus. This option should only be used to preview static content (typically `.html` files). For PHP, Ruby etc. you should use the **Box URL** option. +- **Box URL** - use this option for previewing PHP, Ruby or other server side languages over https. [Click here](/project/ide/boxes/#accessing-boxes-and-ports) for more information on configuring port access for https. + + + +If you right-click a file in the file tree or the Tab, you can also select **Preview Static**. + +![authtoken](/img/preview-deploy-right-click.png) + + +### Preview in a Codio tab or new browser tab +In the Preview dropdown menu, you can select one of the following ways to preview + +- **Inside Codio** : displays the preview in a Codio tab; note that if you are accessing via any port other than Port 80 (the Box URL defaults in the screenshot at the top) then this option will only work if you are using HTTPS as Codio itself runs over HTTPS and the browser will not allow mixed HTTP/HTTPS. [See here](/project/ide/boxes/#accessing-boxes-and-ports) for more details on using HTTPS. +- **New browser tab** : it will open up a new browser tab or window. + +If you are previewing a private project containing Static content and you have not enabled **Allow Private Static Preview** option (available only via **Project>Settings**) you will be asked to authenticate with your username and password. If you signed up using GitHub/BitBucket/G+ method, a random password is created for your account. Go to **Codio>Account** and on the Account tab you can set up a password of your own choosing. + +If though you have enabled this option, then you can preview static content without authentication. A new backend URL will be generated for this purpose that you can then share with anyone else you wish to be able to preview your project. You are also able to regenerate this URL at any time and access using the old URL will no longer function. + +This only applies to code being previewed over the standard ports 80 and 443. Previewing via any other port will have no authentication, because the code is being served from your application server, which we have no control over but you can add your own authentication. + +See [Apache Password Basic Authentication](https://wiki.apache.org/httpd/PasswordBasicAuth) and [HTTP Authentication with PHP](https://php.net/manual/en/features.http-auth.php) for some examples. + +#### Modifying the Preview menu +You are free to customize the menu in either of the following ways + +- From the **Preview** or **Run** drop down menus (the 2nd and 3rd right most Codio menu items), select **Configure...** +- If it exists already, open the `.codio` file that lives in the root of your project. + +For details about the various tokens that can be inserted, please refer to **[Customizing the Run menu](/project/ide/boxes/#customizable-run-menu)**. + +`{{domain3000}}` is the most important token for the **Preview menu**. It is replaced by the public url required to access your project over port 80, which is useful if your corporate firewall blocks ports other than 80 and 443. +`{{domain}}` can also be used in the **Preview** menu. In most cases you will want to add the Port number (default 3000) to your service. e.g ` "Box URL": "https://{{domain3000}}/",` + + +```json +{ +// Configure your Run and Preview buttons here. + +// Run button configuration + "commands": { + "Node version": "node --version" + }, + +// Preview button configuration + "preview": { + "Project Index (static)": "https://{{domain}}/{{index}}", + "Current File (static)": "https://{{domain}}/{{filepath}}", + "Box URL": "https://{{domain3000}}/" + } +} +``` + +Note that static content is served over Port 80. To access dynamic content you may need to specify the appropriate Port. + + + +The full range of Codio `{{tokens}}` is explained in [this section](/project/ide/boxes/#codio-tokens). + +### Insecure Content with In-Tab preview and front-end code (#mixed-content) +Codio runs over a secure connection using HTTPS, and therefore so does the inline preview. If your code references an external resource (script, font, image, etc.). For example: + +```html +