Class test
Marks for class test and peerwise
The SSC1 class test counts for 30% of the continuous assessment mark. The two vivas in weeks 7 and 11 will together count for 60% of the continuous assessment mark.
Solutions for the class test will be discussed in the exercise class on 19.10.
If you are entitled to extra time during examinations, please contact
the TA Phil Smith (pxs697@cs.bham.ac.uk), who will
organize a separate venue for the test.
Week 5
Bob Hendley's section on HCI begins on 24.10.
Week 4: XML
Exercises
- Exercise sheet for reg exps and grammars You should complete it at home if necessary, and you can still ask questions in the next exercise class
- Exercise sheet for parsing
- Buzzword Bingo model answer
Peerwise
Please sign up for SSC1 on Peerwise immediately; it only takes a few minutes.
10% of the continuous assessment mark will be given for participation in Peerwise. See the instructions for students on that page.
To gain points, you must write at least one multiple-choice question on a topic covered in the module so far, and answer at least three other questions. The deadline for making this minimal contribution is 12 noon Friday 14 October.
Another 10% of the mark may be given as discretionary bonus points. The bonus marks may be awarded for active participation (e.g. leaderboard status), but in particular for writing insightful questions.
You are free to continue with SSC1 on peerwise after the above deadline, and in fact strongly encouraged to do so. The more questions you create, answer, comment on, etc, the more you will learn and the more you will help other students on the module. If a fair number of students contribute good questions, there will be plenty of revision material for everyone before the exams. You may also enjoy winning badges and trying to get on the leaderboard.
You need to register on the Peerwise server.
- The course ID for SSC1 is 5619.
- Your "identifier" on Peerwise is the same as your Bham student ID number.
- You can choose any username and password when registering.
- Please tag your questions with appropriate topics, e.g., streams, grammars, parsing, reg exps, XML, so that others can find them more easily.
Grammars and parsing: weeks 2 and 3
You can download the lecture slides for the introduction
to grammars and parsing for viewing on screen.
There is also a
more compact version for printing.
- The Dyck language parser in Java, which was used as the running example in the lectures.
- Another standard example is a simple expression parser and evaluator. The grammar is the result of left-recursion elimination.
Streams: week 1
You should attempt the exercise on streams. A model solution will be discussed in the next exercise class.
Slides for week 1: intro to module; streams
Teaching assistant
The Teaching Assistant for this module is Phil Smith,
pxs697@cs.bham.ac.uk. Contact him for routine matters,
such as queries about marks, mitigations or attendance monitoring.
Past exam paper
SSC1 exam paper from last year.
SSC in context
Note that the material in SSC1 has connections to a number of other modules (Info+Web, Models of Computation, Foundations, Compilers, etc). That is a feature, not a bug. Important topics in computer science are covered from several angles and in increasing depth, which is sometimes called "iterative deepening". In SSC1, we generally take a pragmatic programming perspective on the material. Java is used as the teaching language, but the module is not primarily about Java, as we could have used C++, C# or even OCAML.
Books
Cay Horstmann and Gary Cornell: "Core Java. Volume II: Advanced Features". 8th edition. Prentice Hall. Chapter 1 is on streams and chapter 2 on XML.