=====
CS 111 - Week 1 Lecture 2 - 2026-08-27
=====
=====
TODAY WE WILL
=====
* announcements
* continue intro to DrRacket IDE
* continue intro to syntax, semantics
* continue intro to Racket simple expressions and data
types
* intro to Racket compound expressions
* prep for next class
=====
BONUS OPPORTUNITY: to ENCOURAGE an early first visit to
student hours!
=====
* During the FIRST TWO WEEKS of class --
(so, by Friday, September 4)
COME to BSS 322 during student hours
and tell me a JOKE,
and you will receive a 1-point BONUS on
Homework 1
* (Since the main point is to come by my office in
BSS 322, you must tell me a joke there to receive
this bonus.)
* (If you find me in BSS 302 at a time other than
student hours, and tell me a joke then, you can
also receive this bonus.
But you can be more sure that I will be there
during student hours.)
=====
what is a computer program?
=====
* a list of instructions you want the computer to
do for you
* specific, finite, ordered list for solving
a problem, doing a task, etc.
* BUT! these instructions need to express
exactly and precisely what you want done,
using a language the computer understands;
=====
programming environment/Integrated Development
Environment (IDE)
=====
* an environment/setting/program that makes developing
these sets of instructions easier
* DrRacket is an IDE
* It provides an environment for developing and running sets
of instructions in several programming languages;
in our case, we will use it to develop and run sets of
instructions in Beginning Student Language (BSL) Racket
=====
syntax
======
* the rules for typing something (expression, statement,
program, etc.) in a programming language
* if your program does not follow a given
language's syntax, the computer cannot translate it
and execute that program
* You have to know BSL Racket syntax to write BSL Racket
instructions.
=====
semantics
=====
* the semantics of a statement, expression, program,
etc. is what it MEANS
...we want to write programs with correct syntax
and correct semantics to solve problems of interest;
* You need to know the meaning of syntax to develop
the instructions you want using that syntax.
=====
comment
=====
* something you want the computer to IGNORE
(it is for PEOPLE who are reading the program)
can be placed in a comment
* ONE of Racket's comment syntax types:
; everything from the semicolom to the line end is ignored
* you can see examples of comments,
and some simple and compound expressions,
in posted example file 111lect01-2.rkt