├── NOTES ├── GIT - 22-02-2018 │ └── README.md └── WEB - Lecture 2 - 14-03-2018 │ └── README.md ├── README.md └── syllabus ├── android.md ├── git.md └── web.md /NOTES/GIT - 22-02-2018/README.md: -------------------------------------------------------------------------------- 1 | # Getting started with Git / Github 2 | 3 | ## Instructor - Shiv Soni 4 | ## Venue - LT4 5 | ## Time & Date - 12:45 - 2:00 22-02-2018 6 | 7 | ### Important Links & Commands to get you started with **GIT** 8 | #### Debian (Ubuntu) 9 | `sudo apt-get update` - update dependencies of Ubuntu 10 | 11 | `sudo apt-get install git` - install git 12 | #### RPM (Redhat, Fedora) 13 | `yum install git` - install git 14 | #### Windows 15 | Download Git Bash from [GitForWindows](https://gitforwindows.org) 16 | 17 | #### Setting up a repository 18 | Cloning an existing Git repo - 19 | - `git clone `, 20 | 21 | e.g. `git clone https://github.com/CodeDocsJECRC/society` 22 | 23 | Configuring Git repo for remote collaboration - 24 | - `git config --global user.name ` - configure user name for that repository, 25 | 26 | e.g. `git config --global user.name ShivSoni5` 27 | - `git config --global user.email ` - configure user email for that repository, 28 | 29 | e.g. `git config --global user.email shivsonic05@gmail.com` 30 | - `git config --list` - list the configured details 31 | 32 | Initializing a Git repository for a new or existing project - 33 | - `git init` - Initialize the current directory as git directory 34 | - `git remote add `, 35 | 36 | e.g. `git remote add origin https://github.com/CodeDocsJECRC/society` 37 | - `git add .` 38 | - `git commit -m "message"` 39 | - `git push -u `, 40 | 41 | e.g. `git push -u origin master` 42 | 43 | #### Common Git version control commands 44 | - `git add ` - File will be tracked 45 | 46 | e.g. `git add README.md` 47 | - `git commit -m "First Commit"` - tracked file will be committed 48 | - `git push origin ` - pushing commits to server repository, 49 | 50 | e.g. `git push origin bug` 51 | - `git branch ` - Creating new branch, 52 | 53 | e.g. `git branch bug` 54 | - `git checkout ` - Switch Branch, 55 | 56 | e.g. `git checkout bug` 57 | - `git checkout -b ` - Creating and switching to new branch 58 | - `git merge ` , 59 | 60 | e.g. `git merge bug` - merging bug into master branch (present by default) 61 | - `git branch -d branch_name` - Deleting a branch, 62 | 63 | e.g. `git branch -d bug` 64 | - `git log` - provides commit ID and history 65 | - `git reset --hard old_ID` - Head to any previous commit 66 | - `git diff old_ID new_ID` - To view the changes you make in a file 67 | 68 | ### Some useful resources 69 | #### Documentations and Tutorials 70 | - [Learn Git](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud) 71 | - [Try Git](https://try.github.io/levels/1/challenges/1) 72 | - [Git-Book](https://git-scm.com/book/en/v2) 73 | 74 | #### Video Tutorials & Playlists 75 | - [thenewboston](https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAKWClAD_iKpNC0bGHxGhcx) 76 | - [cs50](https://www.youtube.com/watch?v=MJUJ4wbFm_A) 77 | -------------------------------------------------------------------------------- /NOTES/WEB - Lecture 2 - 14-03-2018/README.md: -------------------------------------------------------------------------------- 1 | # CSS - Styling the web 2 | 3 | ## Instructor - Amrit Srivastava 4 | ## Venue - IBM Lab 5 | ## Time & Date - 12:45 - 2:00 14-03-2018 6 | 7 | ### Important Links to get started with CSS 8 | - [CSS Tutorial - W3Schools](https://www.w3schools.com/css/) 9 | - [CSS Tutorials - TutorialsPoint](https://www.tutorialspoint.com/css/index.htm) 10 | - [more links and courses](https://hackr.io/tutorials/learn-css) 11 | 12 | #### Video Tutorials 13 | - [CSS Tutorials - The Bad Tutorials](https://www.youtube.com/playlist?list=PL_RGaFnxSHWqMH9a9DY8LFKrJ5NJCFHHe) 14 | - [CSS Tutorials For Beginners - The Net Ninja](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gQeDH6xYhmO-db2mhoTSrT) 15 | - [CSS Animation Tutorials - The Net Ninja](https://www.youtube.com/playlist?list=PL4cUxeGkcC9iGYgmEd2dm3zAKzyCGDtM5) 16 | - [CSS Positioning Tutorials - The Net Ninja](https://www.youtube.com/playlist?list=PL4cUxeGkcC9hudKGi5o5UiWuTAGbxiLTh) 17 | - [CSS Tutorials - LevelUpTuts](https://www.youtube.com/playlist?list=PLLnpHn493BHH6DkHPhduhco5XavNA9JaD) 18 | 19 | #### Other 20 | - [Learn CSS Grid in 5 Minutes](https://medium.freecodecamp.org/learn-css-grid-in-5-minutes-f582e87b1228) 21 | - [From Zero to Front-end Hero](https://medium.freecodecamp.org/from-zero-to-front-end-hero-part-1-7d4f7f0bff02) 22 | - [A Complete Guide to Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) 23 | - **[35+ HTML & CSS Resources for Beginners](https://medium.com/level-up-web/30-html-css-resources-for-beginners-4e4d0af4b44b)** 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CD101 2 | CodeDocs course 101 3 | 4 | **Registration link** - will be posted soon on the website 5 | 6 | **Date and Timings** - the timings would most probably be after college hours but we will update the same after confirmation. 7 | 8 | **Venue** - some lecture halls in A-block. 9 | ## Syllabus 10 | This course is oriented to teach you and help you learn **Web Development, Android Development** and other essential and relevant skills needed for any path. Topics include algorithms, data structures, resource management, cloud, software engineering, web and android development. Languages include **HTML, CSS, JavaScript, jQuery, JAVA** (JAVA and JavaScript are different :stuck_out_tongue_closed_eyes: ) and covering **GIT version control system, Amazon Web Services (AWS), Android Studio**, etc. 11 | Problems sets and assignments are inspired from basic domains. 12 | The course is designed for every rank of student (any branch, semester). 13 | 14 | ### Expectations 15 | You are expected to: 16 | - attend all the lectures or classes 17 | - complete all problem sets and modules before test 18 | - submit the final project 19 | - take at least one test or quiz 20 | - bring your own laptop 21 | - it would be better if you have any Linux OS 22 | 23 | ### Grades or Scores 24 | The final grades or scores will be based on your problems sets and final test and project. 25 | 26 | ### Books 27 | we will post links to referred books (purchase and free pdf) here soon. 28 | 29 | ### Video Tutorials 30 | the links will be added soon. 31 | 32 | ### Fees 33 | **There would not be any fees or subscription charges** 34 | 35 | ### Lectures 36 | There would be 7-8 lectures, each of around 60-70 minutes twice a week. The classes will be taught by CodeDocs team only, no other lecturer or trainer would join. 37 | 38 | #### Web Development 39 | 40 | | Lecture | Week | Topics | Day and Date | 41 | | ----- | ----- | ----- | ----- | 42 | | Lecture 0 | Week 0 | Getting started with the web | Tuesday | 43 | | Lecture 1 | Week 0 | HTML - Structuring the web | Friday | 44 | | Lecture 2 | Week 1 | CSS - Styling the web | Tuesday | 45 | | Lecture 3 | Week 1 | JavaScript | Friday | 46 | | Lecture 4 | Week 2 | Dynamic client-side scripting | Tuesday | 47 | | Lecture 5 | Week 2 | Server side website programming | Friday | 48 | | Lecture 6 | Week 3 | Browser APIs and Third party APIs | Tuesday | 49 | | Lecture 7 | Week 3 | Introduction to frameworks, libraries and essential tools | Friday | 50 | ----- 51 | 52 | #### Android Development 53 | | Lecture | Week | Topics | Day and Date | 54 | | ----- | ----- | ----- | ----- | 55 | | Lecture 0 | Week 0 | Getting started with Android and Android architecture | Tuesday | 56 | | Lecture 1 | Week 0 | Basics of JAVA | Friday | 57 | | Lecture 2 | Week 1 | Setting up Android SDK and First Project | Tuesday | 58 | | Lecture 3 | Week 1 | Building a basic Android app | Friday | 59 | | Lecture 4 | Week 2 | Activities | Tuesday | 60 | | Lecture 5 | Week 2 | Services and UI of Android | Friday | 61 | | Lecture 6 | Week 3 | Data Storage in Android | Tuesday | 62 | | Lecture 7 | Week 3 | Android APIs and JSON parsing | Friday | 63 | 64 | ----- 65 | 66 | #### Extra 67 | | Lecture | Week | Topics | Day and Date | 68 | | ----- | ----- | ----- | ----- | 69 | | Lecture 0 | Week 0 | Git and Github | Wednesday | 70 | | Lecture 1 | Week 3 | Progressive Web Apps | Wednesday | 71 | | Lecture 2 | Week 4 | Instant Apps | Wednesday | 72 | ----- 73 | 74 | ### Office hours 75 | We will conduct office hours every week for 1-2 hours where you can ask and get your problems solved with us. And we will help you with hands-on on your project. 76 | 77 | ### Problem sets 78 | Problem sets with basic webpages and android activities will roll out with every class and has to be done before next class. 79 | 80 | ### Final Project 81 | The climax of this course is its final project. The final project is your opportunity to take your newfound savvy with programming out for a spin and develop your very own piece of software. So long as your project draws upon this course’s lessons, the nature of your project is entirely up to you. You can choose your own final project or also help solving college's problems and building for college or other Open Source organization 82 | 83 | ### Test or Quiz 84 | 2-3 test will be conducted for you to map your progress and compete in standings. We will try bringing you some goodies. 85 | 86 | ### Suggestions 87 | if you have any suggestions or queries, feel free to raise an *issue*. 88 | -------------------------------------------------------------------------------- /syllabus/android.md: -------------------------------------------------------------------------------- 1 | # Syllabus for Android Development class in CD101 2 | 3 | [Course](http://codedocs.org/CD101) 4 | 5 | ## Lecture 0 - Getting started with Android and Android Architecture 6 | - What is Android? 7 | - Basics in Android 8 | - Platfom to be used [Android Studio] 9 | - Application Building Components 10 | - Activities 11 | - XML Layouts 12 | - Java Files 13 | - Manifests 14 | - SDK [Software Development Kit] 15 | - Overview of the course 16 | - About the lectures 17 | - Topics to be covered 18 | - Websites to refer 19 | - [StackOverflow](https://stackoverflow.com/) 20 | - [Android Hive](https://www.androidhive.info/) etc.. 21 | 22 | ## Lecture 1 - Basic Introduction to Java 23 | - Introduction to programming 24 | - What is JAVA? 25 | - Why to use JAVA 26 | - Alternatives to JAVA 27 | - Setting up JAVA 28 | - What is JDK? 29 | - Create working environment 30 | - Basic Syntax and Terminologies 31 | - How JAVA works? 32 | - JAVA Syntax 33 | - Data Types 34 | - Variables 35 | - Conditional Statements 36 | - if-else statements 37 | - switch-case statements 38 | - Decision making and looping Statements 39 | - for loop 40 | - while loop 41 | - do-while loop 42 | - Introduction to Arrays 43 | - Object Oriented Programming 44 | - Why we use OOP design model? 45 | - Concept of Classes and Objects 46 | -------------------------------------------------------------------------------- /syllabus/git.md: -------------------------------------------------------------------------------- 1 | # Syllabus for Git / Github class in CD101 2 | ## 22/02/2018 12:45-2:00 3 | [Course](http://codedocs.org/CD101) 4 | 5 | # Lecture 0 - Getting Started with Git / GitHub 6 | - What is Git? 7 | - What is Version Control? 8 | - Benefits of VCS (Version Control System) 9 | - GitHub 10 | - Install Git 11 | - Linux (Debia, RPM)
12 | `sudo apt-get install git`
13 | `yum install git` 14 | - Windows 15 | [GitForWindows](https://GitForWindows.org) 16 | - Starting with Git 17 | - `git config` 18 | - `git init` 19 | - `git add` 20 | - `git commit` 21 | - `git clone` 22 | - `git push` 23 | - `git remote add` 24 | - `git branch` 25 | - `git checkout` 26 | - `git merge` 27 | - `git log` 28 | - `git reset` 29 | - `git diff` 30 | - `git pull` 31 | - How to fork? 32 | - How to make a Pull Request? 33 | - How to raise an issue? 34 | -------------------------------------------------------------------------------- /syllabus/web.md: -------------------------------------------------------------------------------- 1 | # Syllabus for Web Development class in CD101 2 | 3 | [Course](http://codedocs.org/CD101) 4 | 5 | ## Lecture 0 - Getting started with the web 6 | - Installing Basic softwares 7 | - A text editor (e.g. [Atom](https://atom.io/), [Sublime Text](https://www.sublimetext.com/), [Visual Studio Code](https://code.visualstudio.com/)) 8 | - Web Browsers (e.g. [Chrome](https://www.google.com/chrome/browser/), [Firefox](https://www.mozilla.org/en-US/firefox/new/)) 9 | - A version control system - GIT and the [Github](https://github.com) code hosting service 10 | - Installing a local web server - [Web Server for Chrome](https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb?hl=en) 11 | - Dealing with Files 12 | - site structures 13 | - file formats 14 | - boilerplate 15 | - HTML Basics 16 | - what is it? 17 | - CSS Basics 18 | - what is it? 19 | - JavaScript Basics 20 | - what is it? 21 | - Publishing your website 22 | - GitHub Pages, AWS S3, Google App Engine 23 | - Web-based IDEs - [JSFiddle](https://jsfiddle.net/), [Thimble](https://thimble.mozilla.org/), [JS Bin](http://jsbin.com/), [CodePen](https://codepen.io/) 24 | - How the web works? 25 | 26 | ## Lecture 1 - HTML - Structuring the web 27 | - What is HTML? 28 | - HTML `````` 29 | - title 30 | - metadata 31 | - applying CSS and JS 32 | - HTML Text Fundamentals 33 | - headings 34 | - paragraphs 35 | - span 36 | - lists (ordered, unordered, nesting lists) 37 | - emphasis and importance(bold, italic, underline) 38 | - images 39 | - hyperlinks 40 | - block level links 41 | - urls and paths 42 | - document fragments 43 | - download attribute 44 | - email and telephone links 45 | - Sections of a document 46 | - header, main, section, footer, navigation bar, aside 47 | - line breaks, horizontal lines 48 | - Multimedia and embedding 49 | - images in HTML 50 | - video and audio 51 | - HTML Tables 52 | - HTML Forms 53 | - form 54 | - label, input, textarea 55 | - button 56 | - select 57 | - autocomplete 58 | - checkbox 59 | - radio 60 | - sliders 61 | - date & time 62 | - color 63 | - file picker 64 | 65 | ## Lecture 2 - CSS - Styling the web 66 | 67 | ## Lecture 3 - JavaScript 68 | - What is JavaScript? 69 | - JavaScript Environment - Running Order 70 | - Client Side VS Server Side 71 | - Dynamic VS Static 72 | - How to user JS in a webpage - External, Internal, Inline Handler 73 | - Variable (Declaration, Types - Number, String, Bool, Arrays, Objects) 74 | - Operators(+, -, \*, /, ++, --, =, +=, -=, \*=, /=) 75 | - Comparision(===, !==, <, >, <=, >=) 76 | - Strings /w Objects (length, indexOf, slice, replace, toLowerCase, toUpperCase) 77 | - Array (String -> Array(split, join, toString()), Add/Remove - push, pop) 78 | - Condition (if else, switch, Ternary ? :) 79 | - Loop (for, continue, break, while and do... while) 80 | - Functions (anonymous, parameters, return) 81 | - Objects (dot notation, this) 82 | 83 | ## Lecture 4 - Dynamic client-side scripting 84 | - Functions 85 | - Event Listeners (Event Handler Properties, Inline event handlres, addEventListener, removeEventListener) 86 | - onclick, onfocus, onblur, ondblclick, onkeypress, 87 | - e, preventDefault() 88 | - Selector - querySelector, querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName 89 | - Objects, Object Oriented JS (create object from a function, Object(), Object.create()) 90 | - JSON (syntax, fetch, parse) 91 | --------------------------------------------------------------------------------