Introduction to Algorithms (CSCI2300) Syllabus


1. Course Overview

Networks are everywhere. This course is an interdisciplinary introduction to the emerging science of complex networks and their applications. Topics to be covered include the mathematics of networks, data analysis, network visualization, and applications to ecology, biology, sociology, technology, and other fields. Students will learn about the ongoing research in the field and ultimately apply their knowledge to conduct their own analysis of a real network data set of their choosing as part of the final project.


Learning Outcomes

This course aims to provide a strong foundation in network science and resilience in preparation for jobs in industry and research. After taking this course, you, the student, should be able to:

  • Understand the structures and dynamics of networked systems;

  • Apply the knowledge of network science to real systems in different fields;

  • Communicate effectively in oral presentations about the network visualizations;

  • Build computer programming skills for network analysis and network visualization;

  • Read, analyze, and critique published literature in the field of network science and dynamical systems



Textbook

  • Network Science, Albert-László Barabási

  • Introduction to networks of networks, Jianxi Gao, Amir Bashan, Louis Shekhtman, Shlomo Havlin

  • Complex Networks: Structure, Robustness and Function, Reuven Cohen and Shlomo Havlin


Pre-requisites


CSCI 2200

This is not a programming class. Some homework assignments involve programming, but you are expected to be a competent programmer coming in -- the lectures will not discuss any code. The TA can provide some help on programming issues during office hours, but you should be able to answer your own programming and debugging questions. The textbooks do not deal with programming issues at all.



Course Content

Introduction

Graph theory

Network visualization

Random networks

Scale-free networks

The Barabasi-Albert Model

Evolving Networks

Degree Correlations

Network Robustness

Spreading Phenomena,

Weighted networks

Recent papers published in network science


2. General Class Policies


Website and Announcements. We will make extensive use of electronic communication and the course website. You are responsible for checking Submitty/LMS regularly for announcements and course materials, as well as your e-mail for communications related to the class.

Lectures. You are responsible for all material covered and announcements made in the class.


Evaluation and grading

  • 10% on the attendance (Random ten times sign-in)

  • 30% on the written assignments

  • 30% in-class quizzes

  • 10% on the progress presentations

  • 10% on the final project presentation

  • 10% on the final project reports


The progress presentations will be graded 0 (No presentation) or 1 (progress made and effectively communicated). To get an A, you need 95%, A–, you need 90%, B+, you need 85%, etc.



Course Assessment Measures

(1) Final project assignment: students will collect data representing a real-world complex networked system and analyze its structural or dynamic resilience of it using the computational tools introduced in class.

(2) Homework assignments.

(3) Contributions to in-class discussions.


Regrades:

Any request to re-evaluate a grade must be made within one week of the return date of the homework or exam in question. You must explain why your grade should be changed in writing and submit your request to an instructor or the TA, together with the original problem solution. The second grade will remain. Your entire assignment or exam will be regarded, and your grade may go up or down or stay the same.


Policy on Academic Integrity:

Student-teacher relationships are built on trust. For example, students must trust that teachers have made appropriate decisions about the course structure and content, and teachers must trust that the assignments students turn in are their own. Acts that violate this trust undermine the educational process. The Rensselaer Handbook of Student Rights and Responsibilities defines various forms of Academic Dishonesty, and all students should familiarize themselves with these. In this class, all assignments turned in for a grade must represent the student's work. Submission of any homework that violates this policy will result in a penalty of 0 points for the assignment and failure of the course in case of repetition. Please ask for clarification before preparing or submitting homework if you have any questions concerning this policy. The penalty for not adhering to these academic integrity rules is a failing grade for the assignment on the first offense, then failing the course and potential disciplinary actions by the Institute on any subsequent violations.


Changes to syllabus and student responsibilities:

The instructor reserves the right to modify this syllabus as deemed necessary at any time during the semester. Emendations to the syllabus will be discussed with students during a class period. Students are responsible for the information given in class. There may also be details about this course not covered in this syllabus.

Do not assume something just because it is not specified in the syllabus. If you are unsure about anything related to the rules guiding this course, consult with the instructor.