Coconote
AI notes
AI voice & video notes
Export note
Try for free
Introduction to Computer Science Course Overview
Aug 26, 2024
Introduction to Computer Science and Programming (6.00)
Course Overview
Instructors
: Professor Eric Grimson and Professor John Guttag.
Course Goals
:
Prepare students for majoring in Course 6 (Electrical Engineering and Computer Science).
Build confidence for students not majoring in Course 6 to read and write small pieces of code.
Provide an understanding of computation's role in technical problem-solving.
Equip students for competitive job applications in tech.
Target Audience
Primarily for students with little or no prior programming experience.
Students with extensive programming experience are encouraged to discuss their needs with instructors.
Tactical Skills to Acquire
Computational Thinking
: Ability to write small scale programs.
Reading Code
: Understand programs written by others.
Understanding Computation
: Recognize capabilities and limits of computations.
Mapping Problems
: Convert scientific problems into computational frameworks.
Course Structure
Lectures
: Twice a week, 2 hours each (Tuesdays and Thursdays at 11:00).
Recitations
: 1 hour/week (Fridays, multiple time slots).
Outside Work
: Approx. 9 hours/week for problem sets, primarily using Python.
Assessments
Grading Breakdown
:
Problem Sets: 55%
Quizzes: 45% (10%, 15%, and 20% across two quizzes and a final exam).
Quizzes
: Open book/note.
First problem set (Problem Set 0) posted; it's an introductory task to familiarize with Python.
Course Materials and Administration
No Required Textbook
: Suggested materials available on course website.
Attendance
: Not mandatory, but material covered in lectures is not solely in readings.
No Class Notes Provided
: Students are encouraged to take their own notes for better retention.
Paperless Course
: Course materials found on the course website. Sign up for recitation slots here.
Help Resources
: Students encouraged to seek help from TAs and instructors if struggling.
Key Concepts in Computation
What is Computation?
Declarative Knowledge
: Statements of fact. E.g., "The square root of x is the y such that y² = x."
Imperative Knowledge
: Instructions on how to deduce something (e.g., procedures for finding square roots).
Types of Computers
Fixed-Program Computers
: Do specific computations (e.g., calculators). Examples:
Atanasoff's machine for solving linear equations.
Turing's Bombe for breaking codes during WWII.
Stored-Program Computers
: Can change behavior based on the input recipe.
Programming Languages
No single best programming language; each has strengths for various applications.
Python
: Chosen language for this course, high-level, general-purpose, interpreted.
Learning Python enables easier transition to other programming languages.
Syntax vs. Semantics
Syntax
: Legal expressions in a programming language.
Static Semantics
: Which programs are meaningful and legal.
Full Semantics
: What the program means; understanding its execution behavior.
Python Basics
Data Types
: Numbers (integers, floats) and strings (enclosed in quotes).
Basic Operations
: Arithmetic operations, string concatenation, and variable assignments.
Common Errors
: Syntax errors, semantic errors, and recognizing types of variables (e.g., using quotes to differentiate strings from numbers).
Next Steps
Further Exploration
: Next lecture will cover more about Python, including additional data types and operations.
Recitation Signup Reminder
: Students encouraged to sign up for recitation slots on the course website.
📄
Full transcript