CSE 15 Introduction to Computer Science Total Credits (4)
Instructor: Glenn Blank
Current Catalog Description
Introduction to topics in computer science and programming skills in Java and C++. Prerequisite for CSE 17. Includes multimedia laboratory. No prerequisites. For students who intend to take further courses in CSE. Not available to students who have taken CSE 12, 16, or Engr 1.
Textbook
Glenn D. Blank, Robert F. Barnes, Edwin J. Kay, The Universal Computer: A Multimedia Introduction to Computer Science, 2003, McGraw-Hill/Primis. Glenn D. Blank, A Multimedia Introduction to C++, 2003, McGraw-Hill/Primis.
References
Course Goals
Introduce the breadth of computer science and programming in C++ in the context of problem solving and software engineering.
Prerequisites by Topic
Major Topics Covered in the Course
Turing machines, virtual machines, bits, bytes and data representation
Problem solving
Programming language syntax, interpreters and compilers
Simple C++ programs
C++ arithmetic, characters, program structure
Objects and classes in Java
Classes in C++ (Abstract Data Types)
Software life cycle and methods
Boolean expressions and control structures
Loops
Peeling the onion: computer architecture
Function control, return types & scope of variables
Parameters and prototypes
Operating systems
Networks and security
Strings and subscripts
Arrays
Sorting and searching, algorithms
Implementing classes
User interface and web design
Social, ethical and professional issues
Artificial intelligence
Laboratory projects (specify number of weeks on each)
Multimedia lab (every week)
Pair programming (three weeks)
Term project, analysis, design and implementation (five weeks)
Estimate CSAB Category Content
CORE ADVANCED
Data Structures 0.5
Computer Organization and Architecture 0.5
Algorithms Software Design 0.5
Concepts of Programming Languages 1.5
Oral and Written Communications
Every student is required to submit at least _*_ written reports (not including exams, tests, quizzes, or commented programs) of typically __*___ pages and to make _0__ oral presentations of typically _0_ minutes duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.
*Many homework exercises throughout the semester entail writing short essays.
Social and Ethical Issues
One unit of the multimedia lab and one class in lecture focus on social and ethical issues. Two or three exercises on the last assignment and two or three questions the final exam address social and ethical issues.
Theoretical Content
One unit of multimedia lab and one class in lecture focus on analysis of algorithms, studying the complexity of a few different search and sort algorithms, then looking at harder problems, such as chess.
Problem Analysis
Near the beginning of the semester, one unit of multimedia lab and two classes in lecture focus on problem solving using a virtual robot world called Knobby’s World. Later, one unit of multimedia lab and two classes of lecture focus on the software development process, introducing use cases and UML.
Solution Design
Throughout the semester, six units of multimedia lab and about twelve lectures focus on implementing problem solutions in C++.