Data Abstraction (CMPSC 101)
Discussion and Hands-on Work: Monday and Wednesday 9:10am to 10:00am EST
Laboratory Session: Thursday 3:00pm to 4:50pm EST
Practical Session: Friday 9:10am to 10:00am EST
Course Flow:All class members will attend class sessions on Monday and Wednesday in-person or via Zoom based on their preference and learning modality. All labs will be held online and students can participate in the lab sessions via Zoom. Practical sessions will be live-streamed on YouTube with a small asynchronous component.
The description of the course:
A continuation of CMPSC 100 with an emphasis on implementing, using, and evaluating the computational structures needed to efficiently store and retrieve digital data. Participating in hands-on activities that often require teamwork, students create data structures and algorithms whose correctness and performance they study through proofs and experimentation. Students continue to refine their ability to organize and document a program’s source code so that it effectively communicates with the intended users and maintainers. During a weekly laboratory session, students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 100 or permission of the instructor.
Distribution Requirements: QR, SP.
- 1. To identify and apply problem solving and computational thinking techniques to data abstraction concepts.
- 2. To (a) design, (b) implement, (c) evaluate, and (d) analyze algorithms and data structures in an object-oriented programming language.
- 3. To develop team-working strategies with a diverse range software developers.
- 4. To enhance ability to write and present ideas about software in a clear, concise, and compelling fashion.