Weekly Notes |
Topics |
Reading |
Assignments |
Week 1 |
|
2.1, 2.2 (A mostly simple program);
5.1-5.5 (Lexical elements);
4.2 (Text_io);
|
Homework 1 is due Tuesday 9/4/18!
Check due dates - don't do ones from last year!
|
Week 2 |
- Monday: Unix, submit
- Language Topics: Intro to types, expressions, input :
- Declarations, Integer, Natural, Positive, Attributes, Integer I/O, Operators and Expressions
- Keyword and Default Parameters
- Type Float, Strong Typing, Type Coercion
- Range Constraints, Subtypes, What is a Type
- Modular Types
- Friday - Control Structures: if, case, and loops - see examples
- 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 is due Tuesday 9/4/18!
P1 for Fall 2018 is is here. Start NOW! |
Week 3 |
- Mon: Questions on assignment, and continue material from last week (subtypes
and enumerated types).
- Wed: Gitbash, input file format, od -x (or xxd), errors, execution format
- Fri: Hurricane day - D2L quiz.
- Ada by Example
|
Procs: Ch. 9 + Exceps: 2.6, Ch. 14
|
P1 for Fall 2018 is is here. Start LAST WEEK! |
Week 4 |
|
Procs: chapter 9
Arrays: 8.1-6, 2.4; |
P1 for Spring 2017 here.
P2 is available
|
Week 5 |
- Mon: Arrays:
- Wed: Arrays:
- Fri: Arrays: Fixed length, unconstrained types: params and declare blcck, type string, slice
- Notes on Arrays:
- Exam coming (week 6):
Topics list from last semester is here
|
Procs: chapter 9
Arrays: 8.1-6, 2.4; |
Mini Homework 2 is due Wednesday midnight.
P2 (Fall 2017) here.
|
Week 6 |
- FALL 18 EXAM 1 on MONDAY 10/8/18 (Next week)
- Monday: Side effects, procedural areas, reliability
- Wednesday: Answer questions on exam topics
- Friday: Exam 2/23/18. Topics list is here
- Notes:
|
Arrays: 8.1-6, 2.4; |
P2 is here.
P3 (For Fall 17) is here
|
Week 7 |
- FALL 18 EXAM 1 on MONDAY 10/8/18 (This week)
- Mon: Return exam, program 3, Operator precedence
- Wed: Look_ahead, Packages, Generic Packages
- Fri: More of the above
- Program 3
- Records:
- Use Look_Ahead to skip white space
- Packages (and old notes on packages)
- Generic Packages
|
Records: 8.7, 2.4 |
P3 is here (For Spring 2017)
|
Week 8 |
|
Packages: 3.1 & Ch. 11 |
P3 is here (For Spring 17)
|
Week 9 |
- Monday: Employees
- Wednesday and Wednesday: Group project: Unique words
|
Packages: 3.1 & Ch. 11
Generics: 3.4 & Ch. 17
|
Program 3 for Spring 2017
|
Week 10 |
|
Records: 8.7, 2.4
Packages: 3.1 & Ch. 11 |
Program 4 for Fall 2017
Exam 2 coming
|
Week 11 |
|
Pointers: Chapter 10 Section 2.5 |
Exam 2 next week
Program 4 for Fall 2017
|
Week 13 |
|
|
Exam 2 NEXT week
Program 5 for Fall 2018
|
Week 14 |
- Exam 2: Monday 4/16/18 (of THIS week) on these topics
- Pointers Continued:
- Not covered:
|
|
Exam 2 NEXT week
Program 5 for Fall 2015
|
Week 15 |
|
|
Program 5 for Fall 2015
|
Week 16 |
- Comprehensive Final Exam:
- Exam week schedule (Fall 2018)
- Interesting Links and some fun:
- Some other Topics:
- Some other topics:
- Generics and Generic Sort
Example 1
(and prettified).
Example 2
(and prettified)
- Types :
- To skip white space
you can use Look_Ahead(c, eol); which returns next character in input
without advancing the input marker.
- An example (from 2015) showing how language affects program reliability:
- More on OOP in Ada:
- Procedural Programming, Reliable programming, Ada Design Goals, Language Design::
- 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 |