Computing has become a tool that is used to solve problems in virtually every discipline. Members of society must have a basic understanding of computing in order to be productive. This immersion introduces students to the central ideas of computing, instilling the ideas and practices of computational thinking, and inviting students to understand how computing affects and changes their world. Students will develop an understanding of computational content, develop computational thinking skills, learn basic programming skills, and be exposed to the effects that computing has on society and culture.
Notes about this immersion:
The immersion is closed to students majoring in applied mathematics, applied statistics and actuarial science, bioinformatics, computer science, computing and information technologies, computing security, computational mathematics, computer engineering, game design and development, human-centered computing, new media interactive development, software engineering, and web and mobile computing.
Students are required to complete at least one course at the 300-level or above as part of the immersion.
The program code for Principles of Computing Immersion is COMPUTE-IM.
This course is designed to introduce students to the central ideas of computing. Students will engage in activities that show how computing changes the world and impacts daily lives. Students will develop step-by-step written solutions to basic problems and implement their solutions using a programming language. Assignments will be completed both individually and in small teams. Students will be required to demonstrate oral and written communication skills through such assignments as short papers, homework, group discussions and debates, and development of a term paper. Computer Science majors may take this course only with department approval, and may not apply these credits toward their degree requirements. Lec/Lab 3 (Fall, Spring).
Analyzing Digital Data
This course is designed to introduce non-computing majors to data analytics techniques commonly performed on digital data sets, using a variety of software tools. Students will first learn what constitutes data and its associated social, ethical, and privacy concerns, followed by common preprocessing techniques, and performing exploratory data analysis. Machine learning techniques, including classification, clustering, and association rule mining will be discussed. In addition, students will learn the importance of applying visualization for presenting and analyzing data. Students will be required to demonstrate oral and written communication skills through critical thinking homework assignments and both presenting and writing a detailed report for a project to analyze a data set of their choice. GCCIS majors may take this course only with the students’ home department approval, and may not apply these credits toward their degree requirements. (Prerequisites: CSCI-101 or ISCH-110 or equivalent course. Students in the B. Thomas Golisano College for Computing and Information Sciences are not eligible to take this class.) Lec/Lab 3 (Fall, Spring).
Choose one of the following:
Computing, Culture, and Society
This course is designed to introduce students to the social impacts of computing technology. The course will provide a brief introduction to ethics and to the history of computing and the Internet. It will focus on a number of areas in which computers and information technology are having an impact on society including privacy, freedom of speech, intellectual property, work, distribution of wealth, algorithmic bias and the environment. Current issues that will be discussed include electronic voting, spyware, spam, and intellectual property issues associated with digital content distribution. Students will be required to demonstrate oral and written communication skills through assignments such as short papers, homework, group discussions, and debates. Computing majors may take this course only with department approval. (Prerequisites: ISCH-110 or equivalent course.) Lecture 3 (Fall).
Spatial Algorithms and Problem Solving
This course is targeted to students with a serious interest in geographical problem solving via underlying spatial algorithms. Students will learn how to compare and contrast different specific spatial algorithms for solving specific geographic problems and develop proficiency with encoding and implementing spatial algorithms in computer programs. Students taking this course will gain a broad interdisciplinary skill set in how to think spatially and computationally through critical engagement of geographical problem solving. (This class is restricted to undergraduate students with at least 2nd year standing.) Lecture 3 (Fall).
Cyber Security Policy and Law
Why are we still so bad at protecting computer systems? Is it because we don’t have good enough technology? Or because we lack sufficient economic incentives to implement that technology? Or because we implement technologies but then fail to use them correctly? Or because the laws governing computer security are so outdated? Or because our legal frameworks are ill-equipped to deal with an international threat landscape? All these reasons—and others— have been offered to explain why we seem to see more and more large-scale cybersecurity incidents and show no signs of getting better at preventing them. This course will examine the non-technical dimensions of this problem—the laws and other policy measures that govern computer security threats and incidents. We will focus primarily on U.S. policy but will also discuss relevant policies in the E.U. and China, as well as international tensions and norms. The
central themes of the course will be the ways in which technical challenges in security can be influenced by the social, political, economic, and legal landscapes, and what it means to protect against cybersecurity threats not just by writing better code but also by writing better policies and laws. Lecture 3 (Fall, Spring).