All Projects → csev → cc4e

csev / cc4e

Licence: Unknown and 2 other licenses found Licenses found Unknown LICENSE.md Apache-2.0 LICENSE-APACHE-2 CC-BY-4.0 LICENSE-CC-BY-4
C Programming for Everybody

Programming Languages

javascript
184084 projects - #8 most used programming language
PHP
23972 projects - #3 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects
fortran
972 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to cc4e

Git Novice
Version Control with Git
Stars: ✭ 227 (+157.95%)
Mutual labels:  programming
Learn X By Doing Y
🛠️ Learn a technology X by doing a project - Search engine of project-based learning
Stars: ✭ 242 (+175%)
Mutual labels:  programming
Free Programming Books Zh cn
📚 免费的计算机编程类中文书籍,欢迎投稿
Stars: ✭ 85,491 (+97048.86%)
Mutual labels:  programming
Shell Novice
The Unix Shell
Stars: ✭ 234 (+165.91%)
Mutual labels:  programming
Hedy
Hedy is a gradual programming language, which increases in syntactic elements level by level.
Stars: ✭ 236 (+168.18%)
Mutual labels:  programming
Comunidade
✊🏽 A comunidade de programação da periferia
Stars: ✭ 252 (+186.36%)
Mutual labels:  programming
Ultimate Go
The Ultimate Go Study Guide
Stars: ✭ 14,661 (+16560.23%)
Mutual labels:  programming
You Dont Know Js
A book series on JavaScript. @YDKJS on twitter.
Stars: ✭ 147,493 (+167505.68%)
Mutual labels:  programming
Caster
Dragonfly-Based Voice Programming and Accessibility Toolkit
Stars: ✭ 242 (+175%)
Mutual labels:  programming
30 Seconds Of Code
Short JavaScript code snippets for all your development needs
Stars: ✭ 89,121 (+101173.86%)
Mutual labels:  programming
Smallrye Mutiny
An Intuitive Event-Driven Reactive Programming Library for Java
Stars: ✭ 231 (+162.5%)
Mutual labels:  programming
Writing
📚📝 Notes on the journey
Stars: ✭ 234 (+165.91%)
Mutual labels:  programming
Cs Books
📚 Computer Science Books 计算机技术类书籍 PDF
Stars: ✭ 2,915 (+3212.5%)
Mutual labels:  programming
Vworkflows
Flow Visualization Library for JavaFX and VRL-Studio
Stars: ✭ 226 (+156.82%)
Mutual labels:  programming
Build Your Own X
🤓 Build your own (insert technology here)
Stars: ✭ 125,520 (+142536.36%)
Mutual labels:  programming
Howtobeaprogrammer
A guide on how to be a Programmer - originally published by Robert L Read
Stars: ✭ 14,912 (+16845.45%)
Mutual labels:  programming
Free Programming Resources
💎 免费的编程资源大全,持续更新!🔥 覆盖各种语言和方向(Java \ Python \ C++ \ JavaScript \ Golang \ 前端 \ 后端等)的学习路线、贴心教程、项目实战、编程书籍、面试合集、实用资源等,对程序员非常有帮助!
Stars: ✭ 225 (+155.68%)
Mutual labels:  programming
Freecodecamp
freeCodeCamp.org's open-source codebase and curriculum. Learn to code for free.
Stars: ✭ 339,510 (+385706.82%)
Mutual labels:  programming
System Design Primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Stars: ✭ 154,659 (+175648.86%)
Mutual labels:  programming
Pytudes
Python programs, usually short, of considerable difficulty, to perfect particular skills.
Stars: ✭ 17,219 (+19467.05%)
Mutual labels:  programming

C Programming for Everybody (CC4E)

Course materials for www.cc4e.com

See the file book/README.md for book-related details.

Setup On Localhost

Here are the steps to set this up on localhost on a Macintosh using MAMP.

Install MAMP (or similar) using https://www.wa4e.com/install

Check out this repo into a top level folder in htdocs

cd /Applications/MAMP/htdocs
git clone https://github.com/csev/cc4e.git

Go into the newly checked out folder and get a copy of Tsugi:

cd cc4e
git clone https://github.com/csev/tsugi.git

Create a database in your SQL server:

CREATE DATABASE tsugi DEFAULT CHARACTER SET utf8;
CREATE USER 'ltiuser'@'localhost' IDENTIFIED BY 'ltipassword';
GRANT ALL ON tsugi.* TO 'ltiuser'@'localhost';
CREATE USER 'ltiuser'@'127.0.0.1' IDENTIFIED BY 'ltipassword';
GRANT ALL ON tsugi.* TO 'ltiuser'@'127.0.0.1';

Still in the tsugi folder set up config.php:

cp config-dist.php config.php

Edit the config.php file, scroll through and set up all the variables. As you scroll through the file some of the following values are the values I use on my MAMP:

$wwwroot = 'http://localhost:8888/cc4e/tsugi';   // Embedded Tsugi localhost

...

$CFG->pdo = 'mysql:host=127.0.0.1;port=8889;dbname=tsugi'; // MAMP
$CFG->dbuser    = 'ltiuser';
$CFG->dbpass    = 'ltipassword';

...

$CFG->adminpw = 'short';

...

$CFG->apphome = 'http://localhost:8888/cc4e';
$CFG->context_title = "C Programming for Everybody";
$CFG->lessons = $CFG->dirroot.'/../lessons.json';

... 

$CFG->tool_folders = array("admin", "../tools", "../mod");
$CFG->install_folder = $CFG->dirroot.'./../mod'; // Tsugi as a store

...

$CFG->servicename = 'CC4E';

(Optional) If you want to use Google Login, go to https://console.developers.google.com/apis/credentials and create an "OAuth Client ID". Make it a "Web Application", give it a name, put the following into "Authorized JavaScript Origins":

    http://localhost

And these into Authorized redirect URIs:

http://localhost/cc4e/tsugi/login.php
http://localhost/cc4e/tsugi/login

Note: You do not need port numbers for either of these values in your Google configuration.

Google will give you a 'client ID' and 'client secret', add them to config.php as follows:

$CFG->google_client_id = '96..snip..oogleusercontent.com';
$CFG->google_client_secret = 'R6..snip..29a';

While you are there, you could "Create credentials", select "API key", and name the key "My Google MAP API Key" and put the API key into config.php like the following:

$CFG->google_map_api_key = 'AIza..snip..9e8';

Starting the Application

After the above configuration is done, navigate to your application:

http://localhost:8888/cc4e/tsugi/

It should complain that you have not created tables and suggest you use the Admin console to do that:

http://localhost:8888/cc4e/tsugi/admin

It will demand the $CFG->adminpw from config.php (above) before unlocking the admin console. Run the "Upgrade Database" option and it should create lots of tables in the database and the red warning message about bad database, should go away.

Alternately, you can create all the databases on the command line using:

cd cc4e/tsugi/admin
php upgrade.php

Keep refreshing the /cc4e/tsugi page until all the error messages go away. Once the error messages are gone, the main page should also have no errors.

http://localhost:8888/cc4e/

Go into the database and the lti_key table, find the row with the key_key of google.com and put a value in the secret column - anything will do - just don't leave it empty or the internal LTI tools will not launch.

You can always test the tools using the "App Store" at:

http://localhost:8888/cc4e/tools/

This allows you to do test launches as the instructor and student in a test environment using the key '12345'.

Using the Application

Navigate to:

http://localhost:8888/cc4e/

You should click around without logging in and see if things work.

Then log in with your Google account and the UI should change. In particular you should see 'Assignments' and in Lessons you should start seeing LTI autograders.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].