Siena - Computer Science - Special Courses

CSIS-110 Topics

Need a CDQ course?

Want to learn about Computer Science and programming?

Introduction to Computer Science CSIS-110 satisfies the CDQ core requirement, many sections are available in the Fall, and Computer Science complements any major. We offer multiple sections with different themes. All sections cover the same core material, but in the context of their theme. Below are the three themes offered this Fall

burst_mode CSIS-110   2 hours lab, 2 hours lecture

Intro to CS: Multimedia

No Pre-requisite

Introduces programming concepts though the creation of multimedia applications involving images, sounds, and animations.

music_note CSIS-110   2 hours lab, 2 hours lecture

Intro to CS: Making Music with Python

No Pre-requisite

Focuses on music using the Python programming language, including the creation and manipulation of both existing and original music as well as experimentation with graphical environments for creating music and programming simple instruments.

Upper-level Electives & Special Topics

developer_board CSIS-335   3 hours lecture

Parallel Processing & HPC

Pre-requisite: CSIS-210 and permission of instructor

Email jteresco@siena.edu; Students must also register for CSIS-400 C Programming

Once available only in supercomputers, parallel hardware is now pervasive, right down to our personal computers and mobile devices. To harness the full power of these computers, programmers must understand parallel processing, which introduces challenges at many levels. This course examines methods and techniques to support parallel programming in a variety of parallel computing environments, performance analysis, efficiency and complexity of parallel algorithms, and applications of parallel computation.

developer_board CSIS-400   2 hours per week, half semester

C Programming

Pre-requisite: Permission of instructor

Email jteresco@siena.edu; Students must have programming proficency with data structures

C has been one of the world's top programming languages for decades. It has been used to implement operating systems and other programming languages. In this course, we will take a look at C from a Java programmer's perspective, focusing on things that make it different, efficient, and very powerful. Even if you don't plan to be a C programmer, learning and understanding C will make you a better programmer in any language.

share CSIS-400   3 hours lecture

Networks, Crowds & Markets

Pre-requisite: Permission of instructor

Email dditursi@siena.edu

We live in a world that grows ever more connected - our cities become denser, our jobs more interrelated, and our social networks broader. This simple fact makes the study of network science a crucial one: Understanding how processes traverse these networks - and how the networks themselves change over time - is now vital to understanding the world as a whole. The meteoric rise of Gamestonks, coaching trees in the NFL, and the spread of COVID-19: The lens of network theory has something to reveal about all of these and more.

devices_other CSIS-400   3 hours lecture

Unix/Linux

Pre-requisite: Permission of Instructor

Email igoldstein@siena.edu

This topics course is designed to provide students with an intimate understanding of Unix and Unix-like operating systems, such as Linux. Using Raspberry Pis running a derivative of Debian as the environment, students will gain hands-on experience with installing, configuring, and administering Linux systems and Open Source applications.

Tentative topics:

  • OS history and differences between System V, Berkley, and Linux, as well as derivatives (*nix)
  • Fundamental concepts of *nix
  • User/kernel interface
  • User authentication (LDAP, SAML)
  • Controlling users and groups
  • Filesystems, file I/O, file sharing, directories
  • LVM and RAID
  • Shell scripts
  • Process control
  • System configuration/patching/tuning
  • Dæmons
  • Analyzing device drivers
  • Software development and maintenance (CVS, Git, RPM, make, diff, patch, apt, Yum)
  • Networking and Network Services (DNS, nfs dhcp)
  • Network Applications (Apache, sendmail)
  • Security (iptables, open/close ports, patching)

storage CSIS-350   3 hours studio lecture/lab

Database Management Systems

Pre-requisite: CSIS-210

Every CS Major does databases eventually, so why not be prepared? Have some fun, enhance your resume, learn SQL and Oracle, and get some hands-on experience with more modern NoSQL database systems. This is a very practical course, and many employers seek people with database experience. The catalog description is pretty accurate, so here it is:

A hands-on study of database management systems, based on the entity-relationship and relational data models, including study of both database administration and DBMS implementation techniques. Topics will include logical and physical database design (including E/R modeling, normalization, memory management, and indexing), transactions/concurrency, access methods, query processing/optimization algorithms, and query languages (primarily relational algebra and SQL). Additional topics include security and integrity of data, triggers and embedded SQL, and a brief introduction to NoSQL document databases and JSON. Feel free to contact Dr. Vandenberg with any questions you have about the course.

remove_red_eye CSIS-306   3 hours lecture

Advanced Cyber Security

Pre-requisite: CSIS 110 or CSIS 114 or CSIS 180 or CSIS 200 or CSIS 201 or CSIS 205

According to IBM Security, the average cost of a data breach in the US was 8.2 million dollars. The average number of records breached is over 25,000 records. Imagine if you could help stop this trend?

Take CSIS306 – Advanced Cyber Security and be on your way to becoming a cyber super hero. You will learn the hacking techniques that hackers use, ethical hacking and penetration techniques. This course will include hacking case studies, hands on, great speakers, demos, and an experienced cyber professional as an instructor.

You will be on a team that will design a secure computing environment. The same team will try to hack into their classmates’ environment that they designed.

Are you up for the challenge? Do you want to learn about one of the fastest and challenging growth careers? Here is your chance.

200-level Electives & Special Topics

cloud CSIS-200   3 hours lecture

The Internet of Things

Pre-requisite: Instructor permission

Email rirving@siena.edu. There are no pre-requisites, but special topics courses require instructor permission

The last 40 years has seen the evolvement of multiple, independent technologies that have converged to form ubiquitous computing also known as “The Internet of Things (IoT)”. In this course you will:

  • Examine the key technologies that form The Internet of Things and understand their technical underpinnings and how they integrate together to form IoT applications.
  • Learn the key architectures behind these applications, the implications for society of these applications, and what is emerging next.
  • Learn by examining case studies across a wide spectrum of domain areas like manufacturing, transportation, power generation, and healthcare.
  • Be able to envision new Internet of Things applications and create their initial architectures.
  • Understand the basics of the Big Data that the IoT creates and what it takes to manage and analyze this data.