Intensive introduction to computer science. Problem solving through decomposition. Writing, debugging, and analyzing programs in Java. Algorithms for sorting and searching. Introduction to data structures, recursion.
01:640:115 or placement in CALC1. Credit not given for this course and 14:330:252.
Please note that courses for which a student has received a grade of D cannot be used to satisfy prerequisite requirements.Semesters Offered:
Spring, summer and fallSAS Core Curriculum Met by this Course:
QQ, QR and ITRTopics:
Programming process: problem analysis, program design, algorithm construction, coding, testing/debugging.Expected Work:
Object-oriented programming using the Java language.
Test case construction, driver development.
Introduction to data structures (arrays, linked lists).
Efficiency analysis (algorithm complexity).
Inheritance and polymorphism.
12 weekly programming assignments.Exams:
Weekly lab exercises in recitation.
4 programming exams (given on weekends), 1 written final examDepartment Learning Goals:
How to request an SP number if this course is full:
Computer Science majors ...
- will be prepared to contribute to a rapidly changing field by acquiring a thorough grounding in the core principles and foundations of computer science (e.g., techniques of program design, creation, and testing; key aspects of computer hardware; algorithmic principles).
- will acquire a deeper understanding on (elective) topics of more specialized interest, and be able to critically review, assess, and communicate current developments in the field.
- will be prepared for the next step in their careers, for example, by having done a research project (for those headed to graduate school), a programming project (for those going into the software industry), or some sort of business plan (for those going into startups).