Skip to main content Skip to search
""

Computer Science

The Computer Science program at Stern College for Women stresses both the practical and theoretical aspects of computing, preparing students for employment in various fields of computer science and to pursue advanced studies. In addition to covering fundamentals of Computer Science theory and practice, the department strives to help students maximize their portfolios of significant coding projects, via course requirements and through extracurricular activities such as hackathons and internships. See these videos for highlights of a few notable semester projects from our COMP 1300 introductory course: 2017 and COMP 1300 introductory course: 2015-2016.

Students gain experience with a variety of programming languages including Python, Java, Javascript, R, Go, and C/C++, and learn how to develop applications for Linux, web, and cloud platforms such as Hadoop.

Stern’s Computer Science program is ideally situated near the heart of Manhattan’s “Silicon Alley”, convenient to recruiters from major financial and tech employers. Stern Computer Science students have recently been sought and hired by employers such as Goldman Sachs, JPMorgan, and Google.

The department also offers the Professor Thomas Otway Memorial Scholarship for Computer Science majors, established in memory of the beloved Professor. Learn more about eligibility and application information for the scholarship.

For more information, read this recent article about our Computer Science program, watch a video about the Computer Science experience, or contact Professor Alan Broder, Department Chair at alan.broder@yu.edu

Program Information

Please see the Schedule of Classes for the current semester’s offerings.

  • 1001C Introduction to Programming 3 credits
    This course introduces Computer Science concepts through the development of programs in the Python programming language. Students will learn to write code relevant to problems in the sciences and humanities. (lecture: 3 hours; lab: 2 hours). This course does not satisfy the prerequisite requirements for further Computer Science courses. Math and Computer Science majors must take COMP 1300.
  • 1300C Introduction to Computer Science and Programming 4 credits (Spring and Fall)
    Components of a computer system; machine, assembly, and high-level languages; the Python 3 programming language; numerical systems and coding; representation of data and instructions; data types, constants, variables; arithmetic expressions; logical expressions; assignment statement; sequencing, alternation, and iteration; arrays, subprograms, and parameters; simple I/O; techniques of problem solving; flowcharting; stepwise refinement; simple numerical examples; basic object oriented design. Principles of good programming style, expression, and documentation; control flow; invariant relation of a loop. (lecture: 3 hours; lab: 2 hours)
    Prerequisites: three years of high school mathematics and placement by examination or MATH 1160 or MATH 1412
  • 1320C Introduction to Data Structures 4 credits (Spring)
    Arrays, internal searching and sorting, recursion, linked lists and linear allocation (stacks, queues, deques), bitwise operations. Elementary data structures, trees and algorithms for their manipulation, heaps, hash tables, graphs, spatial data structures, probabilistic data structure, notions of algorithm complexity, memory and data management systems. (lecture: 3 hours; lab: 2 hours).
    Prerequisite: COMP 1300C.
  • 1504 Discrete Structures 3 credits (Fall)
    Boolean algebra and predicate calculus; proof methods; sets, functions, and relations; combinatorics; graph theory and algorithms; mathematical induction and recursion; probability and average case analysis of algorithms. Prerequisite: three years of high school mathematics.
  • 2115C Computer Systems 4 credits (Fall)
    The course is devoted to exploring the interaction between a program, the operating system, and the hardware. Topics include: the C programming language emphasizing pointers, explicit dynamic memory allocation, and formatted I/O; machine-level representation of programs; processor architecture; program optimization; the memory hierarchy; processes; UNIX I/O; concurrent programming. The course will have both lecture and laboratory components. (lecture: 3 hours; lab: 2 hours)
    Prerequisite: COMP 1300C.
  • 2314C Linux Programming for Data Analysis 4 credits (Fall)
    Introduces Linux, with a focus on analyzing large data sets using operating system features that are accessible from the command line along with programming or scripting languages such as Python or Awk. Topics will include software development in a Linux environment, pipes, redirection, process management, and shell programming. (lecture: 3 hours; lab: 2 hours)
    Prerequisite: COMP 1300C.
  • 2545 Algorithms 3 credits (Fall)
    Algorithms complexity and intractability. Combinatorial algorithms (permutations, combinations, partitions). String Algorithms (substring search, regular expressions, data compression). Path finding in game trees and search trees, including minmax, alphabeta ,and A*. Network flow algorithms. Selected algorithms in parallel computing and computational geometry.
    Prerequisites: COMP 1320C, 1504, MATH 1412.
  • 3563 Database Systems 3 credits (Spring)
    Goals of a Database Management System (DBMS), including data independence, relationships, logical and physical organization, schema and subschema; hierarchical, network, and relational modes; examples of implementation of various models; first, second, and third normal forms of data relations; canonical schema; data independence; data description languages: forms, applications, examples, design strategies; query facilities: relational algebra, calculus, data structures for establishing relations; query functions; file organization; index organization; file security; data integrity and reliability. Overview of Internet and World Wide Web information storage and retrieval systems, languages and methods.
    Prerequisite: COMP 1320.
  • 3640 Programming Languages 3 credits (Spring)
    Formal language concepts, including basic characteristics of syntax and grammars; regular, context-free, and ambiguous grammars; constructs for specifying and manipulating data types; language features affecting static and dynamic storage man­agement; control structures and data flow; subroutines, procedures, block structures, interrupts, decision tables, recursion; relationship with good programming style; runtime considerations; interpretative languages, lexical analysis and parsing.
    Co-requisite: COMP 1320C.
  • 3650 Object-Oriented Software Design 3 credits (Spring)
    Large-scale software design in the Java programming language, using inheritance, polymorphism. Methodologies for developing well-designed software, with an early emphasis on testing and reliability. File I/O, exception handling, multi-threading, GUI’s and event-driven programming.
    Prerequisite: COMP 1300C.
  • 3760 Artificial Intelligence 3 credits (tbd)
    Heuristic versus algorithmic methods, cognitive processes, natural language processing, investigation of methods of making machines behave intelligently, problem solving, theorem probing, game playing, pattern recognition, question answering, learning self-organization, methods of programming such procedures, data structures and program organization; the mind-brain problem; the nature of intelligence. Advanced elective.
    Prerequisite: COMP 2545.
  • 3780 Web Programming and Development 3 credits (Fall)
    The world-wide web was originally a vehicle for delivering documents. It still does this, but its most demanding current uses are as a platform for sophisticated interactive applications, replacing traditional mechanisms for distributing and installing software. Creating web applications requires different approaches from traditional applications and involves the integration of numerous technologies. This course introduces web technologies and gives the student experience creating web applications. In the process, students learn about markup languages, scripting, network protocols, interactive graphics, event-driven programming, and databases. Students also explore the way web applications can be exploited by malicious hackers, and the defensive strategies to keep hackers at bay.
    Prerequisite: COMP 1300

For more details about the Computer Science major and minor - see the factsheet at the Academic Advisement webpage.

Major

COMP 1300C, 1320C,1504,2115C, 2545, 3563, 3640, 3650 plus two (2) elective courses in Computer Science; MATH 1412,1413, 2105 (MATH 1413 and 2105 may count toward the “elective category” of the General Education requirements).

Minor

COMP 1300C, 1320C, plus four (4) additional courses in Computer Science.

AP Computer Science A credits

Per department policy, students majoring or minoring in Computer Science may receive 4 credits for COMP 1300 and will not have to take COMP 1300 if they received a grade of 5 on the AP Computer Science A exam, and, if they passed the department’s Python 3 exam with a score of 80% or better. 

VIDEO: Kayla Boldt, UBS Analyst 19'

February 6, 2020

Kayla Boldt-Povarsky ‘19 enjoyed her YU Intro to Computer Science course with Professor Alan Broder so much she decided to make computer science her major. Now this YU grad works as an Analyst in Asset Management with UBS—a job Kayla landed after working at the company through an internship that the YU career center helped her to find. 

VIDEO: Racheli Moskowitz, Facebook Software Engineer, 19' 

January 28, 2020

Facebook Software Engineer Racheli Moskowitz ‘19 double majored in computer science and physical sciences while at YU. Vice President of the Stern Dramatics Society as well as an organizer of YU’s Hackathon, Racheli is grateful to have found a community of people at YU who share her diverse passions. 

Dr. Ari Berman and the Hour of Code

January 3, 2020

The Hour of Code started as a one-hour introduction to computer science, designed not only to demystify “code” and show that anybody can learn the basics but also to broaden participation in the field of computer science. 

Stern College and Yeshiva College Computer Science Teams Compete

November 11, 2019

On Sunday, Oct. 27, 2019, three teams of three students each—one from Yeshiva College and two from Stern College for Women—traveled to the New Jersey Institute of Technology in Newark, New Jersey, to take part in a five-hour contest, competing against such universities as Columbia, Princeton, Rutgers and Cornell.

YU Hackathon 2019: Cracking Code in Collaboration

April 17, 2019

Held on April 4 through April 5, 2019, at the University Heights Lounge on the Wilf Campus, YU Hackathon 2019 attracted more than 70 students from across Yeshiva University as well as students from Columbia University and New York University 

Stern Student Wins Prestigious Computer Science Scholarship

May 30, 2018

Sarah Gulkowitz Awarded $2,500 Women in Technology Scholarship By Visionary Integration Professionals

Computer Science Thrives at Stern College

March 1, 2017

With new faculty, expanded course offerings and record enrollment, the computer science major flourishes!

The following list includes faculty who teach at the Beren (B) and/or Wilf (W)

In addition, the department continues to employ advanced undergraduate students as graders, tutors and lab assistants. Students who are interested in such activities should contact the department chair .

Skip past mobile menu to footer