Skip to content

Latest commit

 

History

History
193 lines (179 loc) · 6.88 KB

Exam_info.md

File metadata and controls

193 lines (179 loc) · 6.88 KB

UiS DAT310 Exam information 2018 spring

Entrance requirements

Min. 4 points from Assignments 1–5 and min. 4 points Assignments 6–10.

Allowed resources

It is not allowed to 'run' code and test it in a browser!

Grading

Total: 100+N points, where N is the number of multiple choice questions

  • For multiple choice questions: correct answers=2 or 3 points, incorrect answers=-1 points
  • If you got bonus points from the assignments, bring your bonus code(s)

Scale:

  • 0-39: F
  • 40-49: E
  • 50-59: D
  • 60-79: C
  • 80-89: B
  • 90+: A

Topics

This is a tentative list based on last year's requirements, and is subject to changes.

  • Client vs. server-side programming
  • HTML
    • Syntax
    • Document structure
    • Main head elements
    • Main body elements
      • Headings
      • Paragraphs
      • Text formatting
      • Character entities
      • Lists (ordered, unordered)
      • Tables (table head/body, merging rows and columns)
      • Images
      • Links
      • Container elements (div and span, and the difference between them)
      • iframe
    • Forms
      • Form elements (input text, password, radio, checkbox, select list, textarea, button)
      • Hidden variables
      • HTML5 form elements (number, date, email, url, search)
      • Global attributes (disabled, readonly, required)
      • Labeling and grouping form elements
  • CSS
    • Syntax (selectors, declarations, comments)
    • CSS levels
      • inline (using the style attribute)
      • internal (using the <style> element in <head>)
      • external (using <link> inside <head> to an external css file)
    • Difference between id-s and classes
    • Styling/formatting using CSS
      • Text (color, font, size, alignment, spacing, etc.)
      • Links (and pseudo selectors based on state)
      • Lists
      • Borders
      • Colors and backgrounds
    • The box model, setting border, margin, and padding
    • Selectors
      • Element, class, ID selectors
      • Contextual selectors (child, descendant, sibling, etc.)
      • Pseudo-class and attribute selectors
    • Cascading rules, CSS priority scheme
      • Selector specificity, computing specificity
      • Inheritance
      • Positioning
      • Difference between block-level and inline elements
    • Positioning schemes (normal flow, relative, absolute, fixed positioning, floating elements)
    • Media queries
  • JavaScript
    • Syntax (variables, functions, objects, control flows, comments)
    • Embedding in HTML (explicit, implicit), execution (when in head vs. in body)
    • Variables (types, scope)
      • Primitive types
      • Type conversions, type coercions
      • Operators (comparison, boolean, numeric, string)
    • Displaying to console
      • Functions (assigned to variables, passed as parameters)
    • Objects
      • Prototypes
      • Properties
      • Methods
      • instanceof operator
      • Built-in objects (Number, Math, Array, String, Date)
    • Event handling
      • Common events (blur, change, click, mouseover, mouseout, keypress, keyup, keydown, submit)
      • Accessing event properties
      • Assigning event handlers
    • Document Object Model (DOM)
      • Window and document objects
      • Accessing DOM elements (by ID, tag name, class name)
      • Creating, deleting, modifying DOM elements
      • Getting and setting the attributes of DOM elements (including forms)
      • Traversing the DOM (finding children and parent elements)
    • Browser Object Model (BOM)
    • AJAX requests and JSON handling
  • AJAX
    • Difference between synchronous and asynchronous communication
    • Main elements of AJAX interaction
      • Initial HTML content
      • Request phase
      • Response document
      • Receiver phase
    • Using XMLHttpRequest in JavaScript
    • Using JSON on client (JavaScript) and server (Python) sides
  • jQuery
    • Including jQuery (local copy vs. from CDN)
    • Anatomy of a jQuery function (selector, event, function)
    • Selectors
      • Basic (element, class, id)
      • Special (document, this)
      • Hierarchy and attribute selectors
      • Input selectors
    • Events
      • Document/window events
      • Form events (blur, change, focus, select, submit, …)
      • Keyboard events (keydown, keypress, keyup, …)
      • Mouse events (click, dblclick, mouseover, mouseout, …)
      • Event attributes
      • Attaching and removing event handlers
    • Methods
      • Accessing and modifying html content, attributes and values
      • Accessing and modifying css properties, class attributes
      • Creating, Inserting, and removing DOM elements
      • Traversing the DOM (parent, children, siblings, etc.)
    • Animation and effects
      • Basic effects (hide, show, toggle)
      • Basic animation (fade, slide, animate)
    • AJAX calls
      • $.ajax(), $.get(), $.post()
      • load(), loadJSON()
  • Web protocols and APIs
    • URLs, IP addesses, domain names
    • HTTP request and response formats
      • Request methods (GET, POST, PUT, DELETE)
      • Status codes (common codes (200, 301, 404) and meaning of ranges (1xx, 2xx, 3xx, 4xx, 5xx))
      • MIME types
    • Making HTTP requests with Python, JavaScript, and jQuery
    • RESTful web APIs
    • Same-origin policy
    • JSONP
  • Bootstrap
    • Including Bootstrap (local copy vs. from CDN)
    • Styling fundamental HTML elements
    • Styling forms
    • Using the responsive grid system and containers
    • Using additional components (navbar, alerts, progress bars)
  • Python
    • Syntax (variables, functions, objects, control flows, comments)
    • Data structures (lists, sets, dictionaries)
    • Reading and writing text files
    • Routing HTTP requests
    • Serving static files and dynamic content
    • Redirecting
    • Templates
      • Variables, filters
      • For loops
      • Template inheritance
      • Message flashing
    • Form handling
    • Cookies
      • Initializing, reading/writing values
      • Third-party cookies
    • Sessions
      • Initializing, reading/writing values
    • MySQL
      • Connecting/disconnecting
      • Executing SQL statements (INSERT, DELETE, UPDATE)
      • Fetching data (SELECT) and iterating results
    • JSON handling