Intro to Digital Learning Environments (CI210)

About this course

CI 210 - Introduction to Digital Learning Environments

Surveys the field of digital environments and their capacity to support teaching and learning. Examines theories of interactivity, immersion, learning with multi-media, and digital literacies to discuss and evaluate various digital environments. Students learn to critically assess digital environments and to create original prototypes that target a specific and important learning or teaching goal. Environments that will be discussed and experimented with in class include virtual worlds, social networks, digital classrooms, interactive exhibits, video games, and tangible technologies.

Homework

Introduction to C programming
  • C programming: Basic I/O, control structures in C
  • C programming: Program execution, program analysis, program testing
Boolean algebra and two-level design
  • Boolean properties; don’t care simplification 
  • Combinational logic structures: ripple-carry adder; bit-sliced design
Design of combinational logic circuits
  • Combinational logic structures: bit-sliced comparator
  • Abstraction in design
  • Combinational logic structures: decoders, muxes
Sequential logic elements
  • Storing a bit: latches and flip-flops
  • Static Hazards; shift registers, registers with parallel load
  • Serialization
Sequential logic, synchronous design
  • Finite state machines; binary counters
  • FSM models; Clock synchronous design
FSM design and implementation
  • Modular FSM design
Component-based FSM Design; Memory
  • Concept of memory
  • From FSM to computer
  • The von Neumann model: basic components, instruction cycle
The Von Neumann Model; LC-3 ISA and programming in binary machine language
  • Instruction formats and instruction processing
  • LC-3 ISA 
  • LC-3 binary program analysis: counting to 10
LC-3 Programming in binary machine language
  • Programming in LC-3 machine language: typing a number
  • Problem solving using systematic decomposition; Good design
  • Programming example: letter frequency counter
LC-3 programming in assembly
  • Introduction to LC-3 assembly language; the assembly process
  • LC-3 assembly programming: ASCII screen art example
LC-3 datapath and control word
  • Design of the LC-3 datapath; fetch and decode execution
  • LDI control signals example; hardwired control unit design
  • Microprogrammed control unit design; the Patt and Patel control unit

Lab

Introduction to LC-3 binary coding and tools
Programming in LC-3 machine language
Introduction to LC-3 assembly and tools
Programming in LC-3 assembly language 2