General Information
- Date: Thursday, March 8, 2018
- Time/Location: Your exam will take place in lecture.
- Duration: 75 minutes
- Closed-book, Closed-notebooks, No Computers/Calculators.
- Use a pencil/mechanical pencil (no pen) to answer the exam.
- Please bring a stapler if you tend to separate the pages of the exam.
- Please take a look at the general exam rules available at
Exam Rules.
- The best way to prepare for the exam is to practice old exams. Complete several
of them in the allocated time specified in the exam.
- We curve in this course. After you taken the exam, do not discuss
anything associated with the exam with other students that have
not taken the exam yet.
- Posting any information in Piazza about the exam after taking it
is considered an academic integrity violation.
Exam Structure
- Short answer questions: This includes for example, multiple
choice, true/false, and fill-in-the-blank type questions.
- Code analysis questions: We will give a short segment of code and
you may be asked to identify syntax and logical errors, generate code
output, etc.
- Code Writing: Write a program/code snippets to solve a given
problem. You should be prepared to give a complete program, but we may also
ask you to provide just a single function or a code fragment.
Topics
The exam will include all the material covered
in lecture and projects including the following topics:
- Only the following HTML
- How to define tables.
- How to define ordered and unordered lists.
- How to define forms using text fields, hidden fields, and
submit buttons. You don't need to know any other form
elements (e.g., radio buttons, etc.)
- Other tags you should be familiar with:
- <br>
- <strong></strong>
- <em></em>
- <h1></h1>
- <div></div>
- <span></span>
- <p></p>
- <pre></pre>
- <img>
- <a></a>
- <img>
- Only the following CSS properties
- color
- font-size
- table properties: border-collapse
- background-color
- CSS Selectors
- id selectors
- class selectors
- type selectors
- PHP Language
- echo
- print
- variables
- superglobals
- expressions
- casting
- constants
- conditional statements
- iteration statements
- functions
- default arguments
- arrays
- foreach
- array_keys(), count(), array_values(), functions
- string functions: only explode() and trim()
- include functions: only require_once
- heredoc
- self-referencing scripts
- header function
- type conversions
- processing information submitted via forms using PHP
- reading/writing from files
- cookies
- sessions
- array_map
- random_int()
- htmlspecialchars, htmlentities
- data types hinting
- iterators
- namespaces
- exceptions
- spaceship operator
- null coalesce operator (??)
- password_hash()
- SQL
- How to create a table of strings and integers
- How to insert a record in a table
- How to delete a record
- How to display the table
- Server Side Includes
- Object-Oriented PHP
- defining classes and interfaces
- Constructor
- Using $this
- __toString
- parent::
- static fields and methods
- public, private, protected
- const
- ::self
- get_class
- abstract/anonymous classes
- Serialization
The exam will NOT cover the following topics:
- XAMPP configuration, Bootstrap, PHP date functions, DNS, Security, JavaScript
Practice Material
PreviousExams.zip:
Notice that previous exams may cover material that is not part
of this midterm.