Weekly Notes |
Topics |
Reading |
Assignments |
Week 1 |
- Wednesday:
- Friday:
- Please bring our laptop to class today (Friday)
- Before class, please download (and if possible install) gnat from AdaCore
- We will work in class on Homework 1 -
- Please review these notes:
- More on installing a compiler and an IDE (including on Mac)
- Even more on compile and run, IDEs,
and installation
- Since we have a new rucs, its address has changed, and if you've used ssh to access it
before, then you might need to take some extra steps.
- Mac users: if you get a compiler error "library not found -lSystem" you might need to install
Xcode from the app store
|
2.1, 2.2 (A mostly simple program);
5.1-5.5 (Lexical elements);
4.2 (Text_io);
|
Homework 1
Check due dates - don't do ones from last year!
|
Week 2 |
- Homework 1 due tonight (file hello.adb, in lower case).
Homework 2 due Wednesday night.
Program 1.
- Language Topics: Expressions and operators,
keyword/default parameters, range constraints and subtypes:
- Declarations, Integer, Natural, Positive,
Attributes, Integer I/O, Operators and Expressions
- Keyword and Default Parameters
- Type Float, Strong Typing,
Type Conversion
- Range Constraints, Subtypes, What is a Type
- End of file and Integer Input Example:
Integer input : demo_input.adb and prettified
- intro_all.adb: basic language features
prettified
and
notes
- Someday : more on Unix, submit (you already know)
- Introductory notes from previous semesters - Whirlwind tour of Ada:
Part 1,
Part 2a,
Part 2b,
Part 3a,
Part 3b,
Part 3c
|
6.1, 6.5, 6.7, 6.9 (Types)
7.1 - 7.3 (Control structures)
|
Homework 1 !
Homework 2
P1 for FALL 2019 is is here. Start NOW! |
Week 3 |
- intro_all.adb: basic language features
prettified
and
notes
- Q: Does Ada have an as (eg import whatever as what)
- A: Package atio renames Ada.Text_IO;
- Can be locally scoped (ie defined within a subroutine)
- Exceptions
- More on User-Defined Types and Subtypes:
- Output format (width, set_col), typewriters, standard.ascii.ht,cr,nl,
Declare Blocks, subtype definitions
- Package Standard : automatically available for every program.
- Friday: Start Procedures and Functions
- Ada by Example
|
Procs: Ch. 9 + Exceps: 2.6, Ch. 14
|
P1 for Spring 2020 is is here. Start LAST WEEK! Due Thursday night. |
Week 4 |
|
Procs: chapter 9
Arrays: 8.1-6, 2.4; |
P2 for Fall 2019
|
Week 5 |
- MWF: Arrays (continued):
- Spring 2020 EXAM 1 coming Friday of next week (Friday of week 6)
Topics list from last semester is here
|
Procs: chapter 9
Arrays: 8.1-6, 2.4; |
P2 (Spring 2019) here.
|
Week 6 |
|
Arrays: 8.1-6, 2.4; |
P2 is here.
|
Week 7 |
- Records:
- Enough Packages to do the assignment
|
Records: 8.7, 2.4 |
P3 is here (For Spring 2019)
|
Week 8 |
|
Packages: 3.1 & Ch. 11 |
P3 (For Spring 2020)
|
Week 9 |
|
Packages: 3.1 & Ch. 11
Generics: 3.4 & Ch. 17
|
Program 3 for Spring 2020
|
Week 10 |
|
Records: 8.7, 2.4
Packages: 3.1 & Ch. 11 |
Program 4 for Spring 2019
|
Week 11 |
|
Pointers: Chapter 10 Section 2.5 |
Exam 2 next week
Program 4 for Fall 2018
|
Week 12 |
- Exam 2: this week on Wednesday (11/13/19) on these topics
- Quote of the Day: “At some point, Boeing became a software company. Yeah, yeah, yeah, there’s an aircraft — you need that to run the software.”
(Seen by Dr. Barland on a Facebook post)
- Pointers
- Notes on pointers that were not covered:
-
Independent study presentation:
An Introduction to Type Theory -
Wednesday 4/17/19, Whitt 214, 4:00 p.m. to 5:30 p.m.
|
|
Program 5 for Spring 2019
|
Week 13 |
|
|
Exam 2 THIS week
Program 5 for Spring 2019
|
Week 14 |
|
|
Program 5 for Spring 2019
|
Week 14 |
|
|
Program 5 for Spring 2019
|
Week 16 |
- Comprehensive Final Exam:
- Final (with white space for answers)
- Final (with most white space removed)
-
8:00 a.m. - 10:00 a.m., Wednesday, May 6, 2020
- The exam will be open book, open notes, open internet, closed neighbor.
- Of course you are not to communicate with anyone, other than me, during the exam.
- You can communicate with me via private chat.
- Topics (draft for
Fall 2019)
- How will the exam be conducted:
- Around 7:50 a.m. I will start a zoom meeting (tiny.cc/nokie-meet) that you should join,
with your video on and audio off.
- Within the next few minutes I will send out a pdf of the exam via email
- I will also post the pdf here
- You can print the exam and answer on it directly or you can answer on separate paper.
- Include your name in your filename(s).
- Put your name (or initials) and page number on all pages, along with the page number.
- At or before 10:00 a.m. you should finish up by scanning or photograping
your answers and sending the images to me via email.
- Other students have had good success with the camscanner app.
- Your email should say how many pages of answers that you have and how many files
you are sending.
- In general, attachments are easier to deal with than embedded images.
- Do not leave the meeting until I have told you that I have received your exam.
- My 360 exam is at 10:15, and so there may be some overlap of people from both
classes during the transition.
- Exam week schedule (Fall 2018)
- Other topics:
- Dr. Barland's notes on writing the queue package.
- Is_Full: See "Partial Stack implementation in
these notes
- Procedural and Object Oriented programming in Ada:
- Proof Server!
- Interesting Links and some fun:
- Some other Topics:
- Some other topics:
- An example (from 2015) showing how language affects program reliability:
- More on OOP in Ada:
- Procedural Programming, Reliable programming, Ada Design Goals, Language Design::
- Side Effects [re Java i = s.pop()]
- Language features supporting design goals
- Language design, syntax, and reliable programming
- A Brief Introduction to Procedural
Programming and Ada
- History and goals, Application Areas, Hello World, Identifiers,
Compile and Run, Use Statement, Ada.text_io.put
- Global variables: discussed in
Procedures and Functions
- Reliable programming
- Gnatprove examples
- Information on reliable databases is available from Ada Gems:
Part one and
Part two.
To try this, you will need to install the sql feature from gnatcoll
(one of the downloads available from libre.adacore.com)
and, probably, sqlite.
If you have questions, let me know; I'd be glad to help.
- Ada History, Design Goals, and Procedural Application Areas
- Language design, syntax, and reliable programming
- Some notes on unbounded strings are near the end of these notes on strings
- JEWL (Windows only) and GNOGA (any
platform) can be used to build GUIs.
- Overloading operators
- Literals
- Example program with end of file and get
strings (and the prettified version)
- Unbounded Strings: Some notes on unbounded strings are near the end of
these notes on strings
(and a word about bounded strings too, from the same notes)
- procedure get(From: in String; Item: out Integer; Last: out Positive) is in
Ada.Text_IO
|
|
Comprehensive Final Exam |