300
This study of computer organization covers the central processor unit, memory unit and I/0 unit, number systems, character codes and I/O programming. Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros. Microsoft assembler is discussed and used for programming throughout the course.
3
Prerequisites
70-210.
An introduction to developing computer applications for collecting, analyzing, and visualizing scientific and mathematical data. Students will learn how to use mathematical computing environments like Matlab, Octave, and R as well as to write journal-style papers in LaTeX.
3
Prerequisites
70-200 or 70-211.
File storage structures, relational database management systems, entity relationship diagrams, relational algebra, relational calculus, SQL, database security, concurrency control, distributed and cloud storage solutions, coding database-supported web sites using PHP and XML.
3
Prerequisites
70-200.
A survey of concepts, facilities, and characteristics of contemporary computer operating systems that includes topics such as memory management, concurrent process control, multi-threading, security, virtualization, and parallelization.
3
Prerequisites
70-220.
This course exposes students to a variety of current programming languages that are not the focus of other courses in the major. The goal of the course is to increase students' programming skills while helping them develop good programming methodology and style. This course also gives students experience using code management systems and working on open-source programming projects.
3
Prerequisites
Credit or concurrent registration in
70-245.
This series of 300-level seminars focuses on various topics and is usually offered on weekends.
1-3