Boston University Summer Challenge 2025
This seminar provides an overview of computer science concepts and teaches basic programming skills. Learn about algorithms, variables and expressions, input and output, if-else statements, for and while loops, functions and parameters, and simple data structures. The history of computer science, artificial intelligence, software engineering, computer networking, and computer-human interaction are covered. You will work in groups to code in two programming languages, Scratch and Java, and will choose one language to use for a final project.
>Syllabus
Course Schedule
Date Topics Slides Files Assignments
Monday
July 7
Course Overview
 Introductions

Programming Basics in Scratch
 Variables, Conditionals, and Loops
Course Overview

Programming Basics
Practicing Basics

Answers
Tuesday
July 8
Intro to Java
 Types, Methods, Running a Java Program
Intro to Java
FizzBuzz.java Practicing Java

Answers
Wednesday
July 9
More Practice with Java
 IO, Errors, Debugging

Even More Java!
 Lists, Arrays, Recursion
More Practice with Java

Even More Java!
moby-dick.txt Practicing Arrays

Answers
Thursday
July 10
Even More Java!
 Classes and Objects

Activity:
 Drawing with Java
Even More Java! Drawing in Java
Linked Lists

Answers
Friday
July 11
Activity:
 Java Basics Review

Networking:
 TCP, HTTP, APIs

Activity:
 Building a Weather Program with APIs
Networking Java Basics Review

Weather App

Weather App Files
More Java Practice

Answers
Saturday
July 12
No Class
Sunday
July 13
No Class
Monday
July 14
Software Development
 Object-Oriented Design, Model-View-Controller
Project Block
Software Development Project Ideas Algorithms Primer

Answers
Tuesday
July 15
Algorithms
 Sorting, Binary Search, Big O
Project Block
Algorithms Theory Primer

Answers
Wednesday
July 16
Theory of Computation
 P vs NP, Reductions
Project Block
Theory
Thursday
July 17
Machine Learning
 Prediction, Large Language Models
Project Block
Machine Learning
Friday
July 18
Presentations
 Location: CAS B12
Seminar Recap Projects