Using personal computers as effective problem solving tools for the present and the future. Effective use of spreadsheets to process, manipulate, and...
An introduction to the fundamentals of computer science through the application of elementary programming patterns in the functional style of...
This course builds on the techniques and patterns learned in CS 115 while making the transition to use of an imperative language. Generative and...
This course builds on the techniques and patterns learned in CS 135 while making the transition to use of an imperative language. It introduces the...
Review of fundamental programming concepts and their application. Procedures and parameter passing. Arrays and structures. Recursion. Sorting....
Software abstractions via elementary data structures and their implementation; encapsulation and modularity; class and interface definitions; object...
CS 145 is an advanced-level version of CS 135. [Note: See Note 2 above. This course may be substituted for CS 135 in any degree plan or for...
CS 146 is an advanced-level version of CS 136. [Note: See Note 2 above. This course may be substituted for CS 136 in any degree plan or for...
Important concepts underlying major personal computer application categories; methodologies for learning and evaluating software; operating system and...
Basic computer architecture, organization, system services, and software. Typology of processors, memory, I/O devices and their performance. [Note:...
Top-down design of data structures. Using representation-independent data types. Introduction to commonly used data types, including lists, sets,...
Introduction to widely used and effective methods of data organization, focusing on data structures, their algorithms, and the performance of these...
The relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture,...
Propositional and predicate logic. Soundness and completeness and theirimplications. Unprovability of formulae in certain systems. Undecidability of...
Introduction to object-oriented programming and to tools and techniques for software development. Designing, coding, debugging, testing, and...
Systematic methods for designing, coding, testing, and documenting medium-sized programs. Major topics include abstraction, modularity, software...
Overview of computer organization and performance. Basics of digital logic design. Combinational and sequential elements. Data representation and...
An introduction to information systems and their strategic role in business. Topics include types of information systems, organizational requirements,...
An introduction to numerical methods for business and finance. Floating-point arithmetic, interpolation. Methods for portfolio optimization and...