CS 170 Web Programming and CS 201 Computer Science I: Difference between pages

From Computer Science at Indiana State University
(Difference between pages)
Jump to navigation Jump to search
m 1 revision imported
 
wiki_previous>Znoble1
Created page with "== Catalog Description == This course begins with a history of programming languages, then focuses on programming in a particular language. The following topics are covered in..."
 
Line 1: Line 1:
== Catalog Description ==
== Catalog Description ==
An introduction to World Wide Web programming methods and scripting languages. Includes Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Dynamic Hypertext Markup Language (DHTML), JavaScript, and VBScript.  Prerequisite - C or better in CS 151.
This course begins with a history of programming languages, then focuses on programming in a particular language. The following topics are covered in some detail: variables, expressions and operators, control structures, simple data types, arrays, classes, and objects. Algorithm design and security issues are also discussed.  Prerequisite - C or better in CS 151.


== Prerequisites ==
== Prerequisites ==
* Basic understanding of at least one programming language’s syntax and primary data structures.
* ''TODO''
* Variables, primitives, and literals
* Functions
* Collections
* Most important skills/knowledge gained:
* Client-server relationship and front-end back-end architecture
* Editors, multi-file projects, code linters, and workflow
* The JavaScript event loop and asynchrony
* The JavaScript prototype and the `this` keyword
* EcmaScript latest additions
* Regular expressions
* Intro to PHP: Hypertext Preprocessor
* Separation of concerns and ideal abstraction
* Build tools and test suites
* Simple back-end in NodeJS


== Standard Content ==
== Standard Content ==
* Using Unix (refresher)
===Course Outline ===
* Client Server relationships
Data formats and number systems (binary, decimal, octal, hex), signed/unsigned, two’s complement, floating point, long, int, short char, C strings
* Understanding Apache as a System Service
C Programming - all keywords and operations
* Front-end Back-end Architecture
C compiler, command-line arguments
* HTML and CSS (refresher)
C library functions - formatted I/O, C strings,  
* Document Object Model (DOM tree)
I/O with different data formats and number systems
* Code Editors, Linters, and Workflow
Basic data structures - unsorted array, sorted array, linked list, heap, stack, queue, binary search tree.  Can do all on paper, do code for some in class and as assignments.
* JavaScript Event Loop and Asynchrony
* Events
* setTimeout() and setInterval()
* Promises
* Latest EcmaScript Additions:
* Arrow Functions
* Rest and Spread operators
* .forEach() and .map()
* Binary, octal, hex literals
* Template sting and interpolation
* The JavaScript Prototype
* Objects, prototypes, and new
* The “this” keyword
* Regular Expre ssions
* ES6 classes
* Abstraction techniques and code reuse
* Building web components
* Intro to PHP (Hypertext Preprocessor)
* Build Tools - webpack, gulp (time permitting)
* Testing tools - jasmine, mocha, jest, ava (time permitting)
* Common frameworks (time permitting)
* KnockoutJS
* Vue
* React


===Important Assignments and/or Exam Questions===
===Important Assignments and/or Exam Questions===
* ''TODO''
* ''TODO''


=== Standard resources ===
* ''TODO''


 
== Notes ==
=== Standard resources ===
Taking CS 201 and CS 202 Simultaneously
* (optional) [https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742  JavaScript: The Good Parts by Douglas Crockford]
If a student requests taking CS 201 and 202 simultaneously to stay on track to graduate on time, the following must be met.
* (optional) [https://www.amazon.com/dp/0596806752/ref=rdr_ext_tmb  JavaScript Patterns by Stoyan Stefanov]
At least an A- in CS 151
* [https://developer.mozilla.org/en-US/docs/Web  Mozilla Developer Network (MDN)]
Number systems (binary, octal, decimal, hex)
Firm understanding of programming fundamentals - variables / data types, arrays, control flow, loops, scope, string manipulation, pointers.
Ability to write basic programs in C or python - anything that can be done with a few nested control structures (loops, if’s).
Review all of tutorialspoint - data structures & algorithms
Good understand of the following data structures - unsorted array, sorted array, linked list, stack, queue, hash table, binary search tree.  For each can do the following - explain the operations (insert, delete, lookup), run examples on the board, explain the running time of the basic operations
Programming assessment - problems 1, 2, 5 correct, get problems 3 and 4 correct possibly with assistance
Taking CS 201 and 303 Simultaneously
To take CS 303 simultaneously, you must
At least a B in CS 151
Meet items b), e), f) from the above list

Revision as of 19:47, 17 May 2021

Catalog Description

This course begins with a history of programming languages, then focuses on programming in a particular language. The following topics are covered in some detail: variables, expressions and operators, control structures, simple data types, arrays, classes, and objects. Algorithm design and security issues are also discussed. Prerequisite - C or better in CS 151.

Prerequisites

  • TODO

Standard Content

Course Outline

Data formats and number systems (binary, decimal, octal, hex), signed/unsigned, two’s complement, floating point, long, int, short char, C strings C Programming - all keywords and operations C compiler, command-line arguments C library functions - formatted I/O, C strings, I/O with different data formats and number systems Basic data structures - unsorted array, sorted array, linked list, heap, stack, queue, binary search tree. Can do all on paper, do code for some in class and as assignments.

Important Assignments and/or Exam Questions

  • TODO

Standard resources

  • TODO

Notes

Taking CS 201 and CS 202 Simultaneously If a student requests taking CS 201 and 202 simultaneously to stay on track to graduate on time, the following must be met. At least an A- in CS 151 Number systems (binary, octal, decimal, hex) Firm understanding of programming fundamentals - variables / data types, arrays, control flow, loops, scope, string manipulation, pointers. Ability to write basic programs in C or python - anything that can be done with a few nested control structures (loops, if’s). Review all of tutorialspoint - data structures & algorithms Good understand of the following data structures - unsorted array, sorted array, linked list, stack, queue, hash table, binary search tree. For each can do the following - explain the operations (insert, delete, lookup), run examples on the board, explain the running time of the basic operations Programming assessment - problems 1, 2, 5 correct, get problems 3 and 4 correct possibly with assistance Taking CS 201 and 303 Simultaneously To take CS 303 simultaneously, you must At least a B in CS 151 Meet items b), e), f) from the above list