prepare($sql_course)) { // Bind variables to the prepared statement as parameters $stmt_course->bind_param("s", $param_courseID); // Set parameters $param_courseID = $courseID; // Attempt to execute the prepared statement if ($stmt_course->execute()) { // Get result $result = $stmt_course->get_result(); // Check if the course exists if ($result->num_rows == 1) { // Fetch result as an associative array $courseDetails = $result->fetch_assoc(); $coursename = $courseDetails['coursename']; $degree = $courseDetails['degree']; $startdate = $courseDetails['start']; $time = $courseDetails['time']; $room = $courseDetails['room']; $instructorID = $courseDetails['instructorID']; $deadline = $courseDetails['deadline']; } else { // Course not found, handle the error as needed header('Location: /acb/login.html?error=Course not found'); exit(); } } else { echo "Oops! Something went wrong. Please try again later."; } // Close statement $stmt_course->close(); } //echo $deadline; $now = new DateTime(); $deadlineTime = $deadline ? new DateTime($deadline) : null; $isBeforeDeadline = $now <= $deadlineTime; $deadlineFormatted = $deadline ? date('l, d M Y \a\t H:i', strtotime($deadline)) : 'not set'; // Create DateTime objects try { $startdateObj = new DateTime($startdate); $timeObj = new DateTime($time); } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; exit; } // Translate day of the week and time of day $dayOfWeek = translateDayOfWeek($startdateObj->format('l')); $timeOfDay = translateTimeOfDay((int)$timeObj->format('H')); // Format date and time $startdateFormatted = $startdateObj->format('d/m/Y'); $timeFormatted = $timeObj->format('H:i'); // Combine the time description $fullTimeDescription = $timeFormatted . ' (' . $dayOfWeek . ' ' . $timeOfDay . ')'; //echo $fullTimeDescription; // Fetch instructor's full name based on instructorID $instructor = 'Instructor not found'; $sql_instructor = "SELECT fullname FROM instructors WHERE instructorID = ?"; if ($stmt_instructor = $link->prepare($sql_instructor)) { // Bind variables to the prepared statement as parameters $stmt_instructor->bind_param("s", $param_instructorID); // Set parameters $param_instructorID = $instructorID; // Attempt to execute the prepared statement if ($stmt_instructor->execute()) { // Get result $result = $stmt_instructor->get_result(); // Check if the instructor exists if ($result->num_rows == 1) { // Fetch result as an associative array $instructorData = $result->fetch_assoc(); $instructor = $instructorData['fullname']; } else { // Instructor not found, handle the error as needed $instructor = 'Instructor not found'; } } else { echo "Oops! Something went wrong. Please try again later."; } // Close statement $stmt_instructor->close(); } // IDENTIFY TEAM MEMBERS // Step 1: Fetch the student's group $sql = "SELECT `group`, `lead` FROM students WHERE courseID = ? AND studentID = ?"; $stmt = $link->prepare($sql); $stmt->bind_param("ss", $courseID, $studentID); $stmt->execute(); $result = $stmt->get_result(); if ($row = $result->fetch_assoc()) { $studentIDgroup = $row['group']; $lead = $row['lead']; } else { $studentIDgroup = null; } $stmt->close(); // Step 2: Fetch all teammates' names (except the student), mark team leader $teamMembers = []; if ($studentIDgroup !== null) { $sql = " SELECT lastname, firstname, `lead` FROM students WHERE courseID = ? AND `group` = ? AND studentID != ? "; $stmt = $link->prepare($sql); $stmt->bind_param("sss", $courseID, $studentIDgroup, $studentID); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { $name = $row['lastname'] . " " . $row['firstname']; if ((int)$row['lead'] === 1) { $name .= " (team leader)"; } $teamMembers[] = $name; } $stmt->close(); } // Initialize an empty array to store topics $topics = []; try { // Prepare an SQL query to select all papers and store them in an array $allPapers = []; $allPapersSql = "SELECT id, paper FROM papers"; if ($result = $link->query($allPapersSql)) { while ($row = $result->fetch_assoc()) { $allPapers[$row['id']] = $row['paper']; // Store paper reference with ID as key } $result->free(); } // Prepare an SQL query to select id, name, and items from the topics table $sql = "SELECT id, name, items FROM topics"; // Execute the query to fetch topics if ($result = $link->query($sql)) { // Fetch each topic row while ($row = $result->fetch_assoc()) { $topicID = $row['id']; // Fetch all required reading papers related to this topic $paperSql = "SELECT paper FROM papers WHERE topic = ?"; $paperStmt = $link->prepare($paperSql); $paperStmt->bind_param("i", $topicID); $paperStmt->execute(); $paperResult = $paperStmt->get_result(); // Initialize an array to store required reading papers $papers = []; while ($paperRow = $paperResult->fetch_assoc()) { $papers[] = $paperRow['paper']; // Store each paper reference } // Fetch course information for the given courseID $courseSql = "SELECT * FROM courses WHERE courseID = ?"; $courseStmt = $link->prepare($courseSql); $courseStmt->bind_param("s", $courseID); $courseStmt->execute(); $courseResult = $courseStmt->get_result(); $courseInfo = $courseResult->fetch_assoc(); // Fetch the course row // Initialize an array to store session details $sessionDetails = []; for ($i = 1; $i <= 6; $i++) { foreach (['A', 'B'] as $session) { $dayKey = "{$i}{$session}day"; $paperKey = "{$i}{$session}paper"; $presentKey = "{$i}{$session}present"; $discussKey = "{$i}{$session}discuss"; $activationKey = "{$i}{$session}"; // Column name for activation (e.g., 1A, 2B, etc.) // Check if the current session's day matches the topic ID if (isset($courseInfo[$dayKey]) && $courseInfo[$dayKey] == $topicID) { $paperID = $courseInfo[$paperKey]; $paperReference = $allPapers[$paperID] ?? 'Unknown Paper'; $sessionDetails[] = [ 'sessionID' => "{$i}{$session}", 'activated' => $courseInfo[$activationKey] ?? 0, 'paper' => $paperReference, 'present' => $courseInfo[$presentKey] ?? 'To be determined', 'discuss' => $courseInfo[$discussKey] ?? 'To be determined' ]; } } } // Store the topic, required reading papers, and session details in the $topics array $topics[] = [ 'id' => $topicID, 'name' => $row['name'], 'items' => $row['items'], 'papers' => $papers, // Store required reading papers 'sessions' => $sessionDetails // Store session details ]; // Free the result sets $paperResult->free(); $courseResult->free(); } } // Free result set for topics $result->free(); } catch (Exception $e) { // Handle errors (optional) echo "Error fetching topics or papers: " . $e->getMessage(); } $link->close(); ?> Guidelines for presentation and discussion

GUIDELINES FOR
PRESENTATION AND DISCUSSION

Your Team

Your Group:

You have no teammates in this course.

$deadlineFormatted.
"; } else { echo "⏰ The submission deadline has passed."; } echo " Submit or check submitted files here."; } else { // Team member if ($isBeforeDeadline) { echo "🧑‍🤝‍🧑 Your team leader can submit the team project files before $deadlineFormatted.
"; } else { echo "⏰ The submission deadline has passed."; } echo " You can check the submitted files here."; $reportfilepath = $_SERVER['DOCUMENT_ROOT'] . '/acb/reports/' . $courseID . '_' . $studentIDgroup . '.pdf'; $reporturl = '/acb/reports/' . $courseID . '_' . $studentIDgroup . '.pdf'; if (file_exists($reportfilepath)) { echo '

View evaluation report on your team project.

'; } }; ?>


In each session, we study published academic papers selected by the instructor. Because these papers have passed peer review, the goal is not to judge whether the paper is “good or bad”, but to understand:

  • What the authors are trying to do
  • How they do it
  • What they find
  • Where the paper is strong
  • Where it is limited, debatable, or open for extension

In academic economics, publication does not mean perfection.

Every paper has assumptions, constraints, and unresolved questions. Learning to identify and discuss them is an important research skill.


Expectations and Criteria for the Presenting Group

The presenting group acts as guides for the class.

Your task is to help others understand the paper clearly, efficiently, and critically – even if they have not read it in detail.

You are not advocates for the paper.

You are interpreters and analysts.

1. Research objective

What is assessed: Your ability to clearly explain the research question, objectives, and motivation.

Expectation: you should explain:

  • What data are used
  • What empirical or theoretical methods are applied
  • How the key variables are constructed

Do not list technical details mechanically. Focus on logic and structure, not replication-level detail.

Scores are given to: clarity and accuracy in stating the research question(s), objectives, and motivation of the paper.

2. Research methods

What is assessed: Your explanation of the data and empirical strategy.

You should explain:

  • What data are used
  • What empirical or theoretical methods are applied
  • How the key variables are constructed

Do not list technical details mechanically. Focus on logic and structure, not replication-level detail.

Scores are given to: Clear explanation of the data, empirical strategy, and key methodological choices.

3. Appropriateness of methods

What is assessed: Your evaluation of whether the methods are suitable for the research question.

You should explain:

  • Why these methods are appropriate
  • What assumptions they rely on
  • What the methods can and cannot identify

This is not criticism for its own sake. It is about methodological reasoning.

Scores are given to: Critical assessment of whether the chosen methods are suitable for the research question.

4. Main findings

What is assessed: Your ability to present the core results accurately and selectively.

You should highlight:

  • The main findings that answer the research question
  • The economic meaning of the results

Avoid presenting every table. Emphasize what matters.

Scores are given to: Accurate and well-structured presentation of the main empirical results.

5. Interpretation and limitations

What is assessed: Your discussion of limitations, biases, and open questions.

You should address:

  • Data limitations
  • Methodological constraints
  • Potential sources of bias
  • Questions the paper cannot fully answer

Acknowledging limitations does not weaken the paper – it shows understanding.

Scores are given to: Thoughtful discussion of limitations, potential biases, and unanswered questions.

6. Slide quality and preparation

What is assessed: Professionalism and clarity of slides.

Slides should be:

  • Well-organized
  • Readable
  • Consistent in notation and structure

Slides should support explanation, not replace it.

Scores are given to: Professional, well-organized, and readable slides.

7. Clarity of explanation

What is assessed: Your verbal explanation of ideas and concepts.

You are expected:

  • Explain in your own words.
  • Demonstrate understanding rather than reading from slides.

Scores are given to: Clear, concise, and engaging verbal explanation of concepts and ideas.

8. Use of visuals or media

What is assessed: Effective use of figures, tables, or media.

Visuals must:

  • Be accurate
  • Be clearly explained
  • Help the audience understand the results

Decorative visuals do not earn credit.

Scores are given to: Effective use of figures, tables, or media to support understanding.

9. Responses to questions

What is assessed: Your ability to respond analytically and respectfully.

You are not expected to “defend” the paper perfectly. You are expected to:

  • Engage with questions seriously
  • Think aloud if unsure
  • Acknowledge uncertainty when appropriate

Scores are given to: Thoughtful, analytical, and respectful responses to questions and feedback.

10. Team coordination and time management

What is assessed: Balanced participation and effective use of time.

All members should contribute meaningfully, and the presentation should stay within time limits.

Scores are given to: Team coordination and time management

Expectations and Criteria for the Discussing Group

The discussing group acts as academic discussants or referees. Your role is to add value to the session by raising questions, identifying weaknesses, and deepening understanding.

You are not expected to be polite commentators.

You are expected to be critical, constructive, and professional.

1. Understanding of the paper

What is assessed: Your demonstrated understanding of the paper and presentation.

Your questions and comments should reflect familiarity with:

  • The research question
  • Methods
  • Findings

Surface-level comments signal lack of preparation.

Scores are given to: Demonstrates a solid and accurate understanding of the paper and the presentation.

2. Identification of weaknesses and open questions

What is assessed: Your ability to identify limitations or unresolved issues.

These may relate to:

  • Assumptions
  • Data
  • Identification
  • External validity

A discussion without critique is incomplete.

Scores are given to: Ability to identify limitations, weaknesses, or unresolved issues in the paper.

3. Quality of critical questions

What is assessed: The substance of the questions you raise.

Good questions:

  • Challenge assumptions
  • Probe identification
  • Question interpretation
  • Explore robustness

Asking questions is not disrespectful – it is professional.

Scores are given to: Raises substantive and well-formulated questions that challenge assumptions, methods, or interpretations.

4. Engagement with key arguments

What is assessed: Your focus on central arguments rather than minor details.

Avoid technical nit-picking that does not affect conclusions.

Scores are given to: Directly engages with the paper’s main arguments, methods, and findings – not peripheral details

5. Analytical depth

What is assessed: Your reasoning behind critiques.

Explain why something is problematic or debatable, not just what you dislike.

Scores are given to: Comments go beyond summary and demonstrate analytical reasoning.

6. Use of evidence or logic

What is assessed: Use of theory, logic, or comparison with other studies.

Critique should be supported, not impressionistic.

Scores are given to: Uses theory, data logic, or comparison with other studies to support critique.

7. Constructive academic tone

What is assessed: Professional and respectful delivery.

Critical does not mean aggressive. Tone matters, but content must be critical.

Scores are given to: Critique is expressed in a professional, respectful, and academic manner.

8. Contribution to collective understanding

What is assessed: Whether your discussion helps the class understand the paper better.

Your role is to advance collective learning, not to score points.

Scores are given to: Discussion helps the class better understand the paper, its implications, or its limitations

9. Broader connections

What is assessed: Links to other literature, approaches, or real-world implications.

This shows maturity and synthesis.

Scores are given to: Connects the paper to related literature, alternative approaches, or real-world relevance.

10. Team coordination and time management

Balanced participation and efficient use of discussion time.

Scores are given to: Balanced participation and effective use of discussion time.