General
Material
Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5

Solution

One way of solving the problem is to add the following rules

np(_) --> det, n, pp.
pp --> p, np(obj).
    
You also have to add lexicon entries for prepositions, such as
p --> [with].
    

Back to the exercise.