Introduction & Overview
Thomas J. Kennedy
If you have not already done so, read the syllabus.
1 Overview (The Big Picture)
This course will include meetings via WebEx; recordings will be made available shortly after each meeting.
All course content (including links to meetings) will be accessible through Canvas. This includes the syllabus, lecture materials, supplemental readings, assignment prompts, project prompts. All assignment, project, and exam submissions will be handled through Canvas. All grades and feedback will be accessible under My Grades.
The syllabus contains full listings of all course policies and expectations. In general all graded exercises (including assignments and exams) are due by 11:59pm ET.
Exam 1 and Exam 2 focus on specific Modules. The Final Exam is cumulative. Throughout the semester, we will discuss various problems in lecture, and you will solve various problems for homework. If I note that a problem is particularly interesting or fun in will probably be on an exam… or two.
While exam problems and homework problems will focus on theory, we will discuss various implementation problems. A few of these problems will form the foundation for the Semester Project.
2 Course Materials
Each module will contain a various instructional materials. These materials will include:
- Written lecture materials
- Hand-Written (Scanned) lecture materials
- Supplemental readings
- Recorded lectures
- Informal review materials (ungraded)
- Formal review materials (graded)
- Written exercises (theory)
- Programming exercises (theory & application)
- Exams
3 Typed vs Scanned Notes
Throughout the course you will find lecture notes. However, not all lecture notes are typeset (similar to this document). Some lecture notes are handwritten PDF files.
Why not Type Everything?
In my experience there are some discussions that click more quickly when looking at handwritten notes.
When reading typed notes we tend to default to “this is a textbook”. When reading handwritten notes perception changes to “an actual person worked through this problem”.
4 Course Structure
Modules will vary in length. The Orientation Module (i.e., this module) is only 4 days long. Have you read the syllabus yet? Module 2 (machine Arithmetic & Related Matters) & Module 2 (Approximation) will last 4 to 5 weeks, each.
The class is divided into 4 modules, spanning 15 weeks.
-
Module 1 is a pseudo-module. I will remind you to read the syllabus. We will take a few days to review some foundational mathematics (e.g., Calculus). We will discuss how to access both the live WebEx meetings and the archived recordings.
-
Module 2 covers Machine Arithmetic & Related Matters. We will start finite precision, relative vs absolute error, and base-2 arithmetic. We then explore the impact of finite precision on numerical computations. You will complete Exam 1 at the conclusion of this module.
-
Module 3 covers Least Squares Approximation. We will start with a brief discussion of applications before taking a step back and focusing on theory. You will complete Exam 2 at the end of this module
-
Module 4 covers Interpolation. Topics of import include non-linear solvers, linear interpolation, and cubic spline interpolation.
-
Module 5 covers Topics of Interest. Emphasized topics will vary from one semester to another. Topics of import include non-linear solvers.
-
Module 6 introduces Future Work. These are topics for further exploration and discussion.
-
The Final Exam is cumulative, and is technically its own module. Review Exam 1, Exam 2, and your Homework exercises…
4.1 Homework
Revisit the homework section in he syllabus.
Homework will be theory-centric. You will work through problems using pencil an paper (physical or electronic). Your final submission must bundle all handwritten work into a single PDF. Most students scan their handwritten work (similar to my scanned lecture notes).
If you would like to type your notes, LaTeX is an option. If you opt to use LaTeX speak to me beforehand (e.g., via email or during office hours).
4.2 Machine Assignments
Revisit the programming exercise section in he syllabus.
All programming exercises must be submitted as a single archive file. Only tarballs or zip files may be submitted. Submissions in other formats will receive a zero.
Code that does not compile or crashes during execution will receive a failing grade (e.g., a zero). Code written in a compilable language submitted without a build file (e.g., makefile) or compilation commands will receive a zero. IDE project files (e.g., .project
from Eclipse are not build files).
Make sure to start all exercises early and speak to me during office hours (or via email).
4.3 Exams
Revisit the exam section in he syllabus.
Exams will be take home. Exam Prompts will be posted on Canvas. You will submit your completed exams through Canvas.
5 Asking Questions
If you have taken a class with me before, you are have heard me emphasize the importance of questions. As we move through the semester, and questions materialize, we have a discussion board, my office hours https://www.cs.odu.edu/~tkennedy (which include network conferencing), and email tkennedy@cs.odu.edu.
You have three options when you want to ask questions:
-
Office Hours - This includes on campus and Network Conferencing.
-
Email - This is always an option.
-
Canvas Hallway Discussion Board - You can ask for general guidance (e.g., how to approach a problem). You should not discuss your solutions to graded exercises.
6 Beginning of the Semester Concerns
You will hear me discuss and reference topics from various courses, including:
- CS 330 - Object Oriented Programming & Design
- CS 361 - Data Structures & Algorithms
- CS 381 - Discrete Structures
Every semester a few students end up terrified that they have missed a required prerequisite course. Before you start second guessing yourself… take a look at the prerequisites section of the syllabus. If a course is not listed as a prerequisite… you are not expected to have completed it.
Why mention other courses?
Computer Science is a broad field. There are many connections between topics and concepts. One of the biggest mistakes anyone can make (especially students and teachers) is to treat a course as existing in a vacuum. Remember two things:
-
One of our goals is to learn how to see these connections and use them to solidify understanding in this course and other courses.
-
I enjoy Computer Science (including this course) and have a penchant to get carried away.