Le Moyne Computer Science Curriculum: Topics, Courses, and Projects, Lecture notes of Computer Science

The computer science curriculum at Le Moyne University, covering required and elective courses, key subject areas, and project-based learning. Students learn algorithms, data structures, operating systems, networking, and software design, with opportunities for hands-on experience and collaboration.

Typology: Lecture notes

2021/2022

Uploaded on 09/12/2022

aaroncastle1
aaroncastle1 🇬🇧

4.3

(8)

223 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Science 1
COMPUTER SCIENCE
Program Director: David P. Voorhees (of Computer Science, Cybersecurity,
and Software Applications and Systems Development)
Associate Professor: Aparna Das, David P. Voorhees
This program's strength is in the liberal arts tradition - students receive
broad exposure to other disciplines while obtaining a solid foundation in
computer science. Its distinctive features include:
1. A Curriculum that covers the breadth of computer science topics and
allows specialization through electives.
Our curriculum is designed to introduce students to the breadth
of computer science topics from the practical to the theoretical. It
focuses on fundamental concepts and principals in computer science
and treats the latest trending technologies as current examples of
these concepts. Our goal is to prepare students to be problem solvers
who are adaptable to the rapidly changing nature of technology,
rather than to be a specialist only in today's trending technologies.
Our required courses cover topics such as software architecture and
design, program design, algorithm analysis, and operating systems.
Elective courses, taken in the last two years of the program, allow
students to customize their learning based on individual interests.
We offer electives on topics such as software design, secure software
development, artificial intelligence, mobile computing, networks,
graphics, and robotics. Course projects encompass a range of
sizes and domains, with opportunities for students to experience
software engineering from an individual and team perspective. At the
culmination of the major, all students complete a significant senior
project where knowledge acquired across various courses must be
combined and applied.
2. Lots of interaction with faculty members and ample opportunities to
learn from peers.
Computer science majors at Le Moyne are part of a small close knit
community with lots of interaction with faculty members and with
other students in the major. Students are advised by the same faculty
member throughout the major, thus allowing for more personal
counseling. The weekly laboratory session of our intro course,
where students get hands-on experience with topics learned in the
classroom, is taught by faculty rather than a teaching assistant.
Many of our courses include projects and assignments which are
done in pairs or triples to encourage students to learn from their
peers. We also hire upper-level students as tutors within Le Moyne's
Quantitative Reasoning Center.
3. Flexibility to dive deep into technology, earn a minor, or double major.
There are enough free electives to take many more computer science
courses than what is required to earn the degree. If you would like
to learn about many different aspects of software technologies, this
option is right for you. The number of free electives also means you
can easily earn a minor in another discipline. With good planning,
we have had students earn two minors or a second major in another
discipline. The flexibility in our curriculum gives you many good
choices for developing a learning experience that meets your needs.
Student Learning Outcomes in Computer
Science
Students who graduate from this program will be able to:
Create, analyze, and explain the design of computational solutions.
Create, analyze, and explain the security of computational solutions.
Know and apply information related to key subject areas:
(1) Algorithms, data structures and complexity;
(2) Operating systems and computer architecture;
(3) Networking and communication; and,
(4) Multithreading and parallelism.
Computer Programming (Certificate) (http://
collegecatalog.lemoyne.edu/arts-sciences/mathematics-computer-
science/computer-science-programming-certificate/)
Web Programming (Certificate) (http://collegecatalog.lemoyne.edu/
arts-sciences/mathematics-computer-science/web-programming-
certificate/)
Computer Science Major (B.S.) (http://collegecatalog.lemoyne.edu/
arts-sciences/mathematics-computer-science/computer-science-bs/)
Computer Science Major (B.A.) (http://collegecatalog.lemoyne.edu/
arts-sciences/mathematics-computer-science/computer-science-ba/)
Computer Science Minor (http://collegecatalog.lemoyne.edu/arts-
sciences/mathematics-computer-science/computer-science-minor/)
Computer-science-based Engineering Concentrations
Students participating in the bachelor's + master's engineering
partnership with Syracuse University must choose the
appropriate concentration.
B.S. in Computer Science with Concentration in Pre-engineering
(Computer Science) (http://collegecatalog.lemoyne.edu/arts-
sciences/computer-science/pre-engineering-computer-science/)
B.S. in Computer Science with Concentration in Pre-engineering
(Computer Engineering) (http://collegecatalog.lemoyne.edu/
arts-sciences/computer-science/pre-engineering-computer-
engineering/)
Biology & Computer Science Minor (http://
collegecatalog.lemoyne.edu/interdisciplinary-programs/biology-
computer-science-minor/)
Interdisciplinary Minor in Chemistry& Computer Science (http://
collegecatalog.lemoyne.edu/interdisciplinary-programs/chemistry-
computer-science-minor/)
Interdisciplinary Minor in Data Technologies (http://
collegecatalog.lemoyne.edu/interdisciplinary-programs/data-
technologies-minor/)
Interdisciplinary Minor in Philosophy & Computer Science (http://
collegecatalog.lemoyne.edu/interdisciplinary-programs/philosophy-
computer-science-minor/)
Visual Design Minor (http://collegecatalog.lemoyne.edu/
interdisciplinary-programs/visual-design-minor/)
pf3
pf4
pf5

Partial preview of the text

Download Le Moyne Computer Science Curriculum: Topics, Courses, and Projects and more Lecture notes Computer Science in PDF only on Docsity!

COMPUTER SCIENCE

Program Director: David P. Voorhees (of Computer Science, Cybersecurity, and Software Applications and Systems Development) Associate Professor: Aparna Das, David P. Voorhees This program's strength is in the liberal arts tradition - students receive broad exposure to other disciplines while obtaining a solid foundation in computer science. Its distinctive features include:

  1. A Curriculum that covers the breadth of computer science topics and allows specialization through electives. Our curriculum is designed to introduce students to the breadth of computer science topics from the practical to the theoretical. It focuses on fundamental concepts and principals in computer science and treats the latest trending technologies as current examples of these concepts. Our goal is to prepare students to be problem solvers who are adaptable to the rapidly changing nature of technology, rather than to be a specialist only in today's trending technologies. Our required courses cover topics such as software architecture and design, program design, algorithm analysis, and operating systems. Elective courses, taken in the last two years of the program, allow students to customize their learning based on individual interests. We offer electives on topics such as software design, secure software development, artificial intelligence, mobile computing, networks, graphics, and robotics. Course projects encompass a range of sizes and domains, with opportunities for students to experience software engineering from an individual and team perspective. At the culmination of the major, all students complete a significant senior project where knowledge acquired across various courses must be combined and applied.
  2. Lots of interaction with faculty members and ample opportunities to learn from peers. Computer science majors at Le Moyne are part of a small close knit community with lots of interaction with faculty members and with other students in the major. Students are advised by the same faculty member throughout the major, thus allowing for more personal counseling. The weekly laboratory session of our intro course, where students get hands-on experience with topics learned in the classroom, is taught by faculty rather than a teaching assistant. Many of our courses include projects and assignments which are done in pairs or triples to encourage students to learn from their peers. We also hire upper-level students as tutors within Le Moyne's Quantitative Reasoning Center.
  3. Flexibility to dive deep into technology, earn a minor, or double major. There are enough free electives to take many more computer science courses than what is required to earn the degree. If you would like to learn about many different aspects of software technologies, this option is right for you. The number of free electives also means you can easily earn a minor in another discipline. With good planning, we have had students earn two minors or a second major in another discipline. The flexibility in our curriculum gives you many good choices for developing a learning experience that meets your needs.

Student Learning Outcomes in Computer

Science

Students who graduate from this program will be able to:

  • Create, analyze, and explain the design of computational solutions.
    • Create, analyze, and explain the security of computational solutions.
    • Know and apply information related to key subject areas: (1) Algorithms, data structures and complexity; (2) Operating systems and computer architecture; (3) Networking and communication; and, (4) Multithreading and parallelism.
    • Computer Programming (Certificate) (http:// collegecatalog.lemoyne.edu/arts-sciences/mathematics-computer- science/computer-science-programming-certificate/)
    • Web Programming (Certificate) (http://collegecatalog.lemoyne.edu/ arts-sciences/mathematics-computer-science/web-programming- certificate/)
    • Computer Science Major (B.S.) (http://collegecatalog.lemoyne.edu/ arts-sciences/mathematics-computer-science/computer-science-bs/)
    • Computer Science Major (B.A.) (http://collegecatalog.lemoyne.edu/ arts-sciences/mathematics-computer-science/computer-science-ba/)
    • Computer Science Minor (http://collegecatalog.lemoyne.edu/arts- sciences/mathematics-computer-science/computer-science-minor/)
    • Computer-science-based Engineering Concentrations
      • Students participating in the bachelor's + master's engineering partnership with Syracuse University must choose the appropriate concentration.
      • B.S. in Computer Science with Concentration in Pre-engineering (Computer Science) (http://collegecatalog.lemoyne.edu/arts- sciences/computer-science/pre-engineering-computer-science/)
      • B.S. in Computer Science with Concentration in Pre-engineering (Computer Engineering) (http://collegecatalog.lemoyne.edu/ arts-sciences/computer-science/pre-engineering-computer- engineering/)
    • Biology & Computer Science Minor (http:// collegecatalog.lemoyne.edu/interdisciplinary-programs/biology- computer-science-minor/)
    • Interdisciplinary Minor in Chemistry & Computer Science (http:// collegecatalog.lemoyne.edu/interdisciplinary-programs/chemistry- computer-science-minor/)
    • Interdisciplinary Minor in Data Technologies (http:// collegecatalog.lemoyne.edu/interdisciplinary-programs/data- technologies-minor/)
    • Interdisciplinary Minor in Philosophy & Computer Science (http:// collegecatalog.lemoyne.edu/interdisciplinary-programs/philosophy- computer-science-minor/)
    • Visual Design Minor (http://collegecatalog.lemoyne.edu/ interdisciplinary-programs/visual-design-minor/)

Computer Science (CSC)

CSC 101. Introduction to Digital Technologies. 3 Credit Hours. The goal of this course is to help students gain a deeper appreciation of the capabilities and limitations of computing. Students will learn core computer science concepts and apply those using tools that they will use as future scientists, data analysts, and decision makers. By understanding software as more than a black box, students are better positioned to understand its value and its results, and make more intelligent decisions about when and how much to rely on sofware results. The course will use tools as Excel, Access, SQL, XML, and NetLogo to demonstrate principles. Cross-listed Courses: CTS 101 CSC 155. COBOL Programming. 3 Credit Hours. This course is a study of the COBOL programming language, with application of its features for table handling, sorting, sequential and random access file handling and modular programming. Cross-listed Courses: MIS 326 CSC 165. Programming in Visual Basic With Visual Basics. 3 Credit Hours. This class covers the basics of structured programming using Visual Basic to develop decision support systems or management science applications. The theory and practice of structured programming, logic, systems development are covered in a series of iterative hands-on assignments, which are designed based on practical decision support systems or management science applications. Students can expect to learn how to create and program advanced Excel applications or other equivalent applications. A term project involving the development and documentation of a Visual basic program is required. Cross-listed Courses: MIS 385 CSC 170. Introduction to Java Programming Programming. 4 Credit Hours. This course will introduce you to programming and object oriented programming using Java. General programming topics include program design, testing strategies, and control structures such as conditionals, iteration. Object oriented topics include creating and using classes, inheritance and interfaces. Students will also learn about basic data structures such as arrays and strings. Students will solve programming problems in weekly lab sessions. Graduate students in the course will also be introduced to event-driven programming using a graphical user interface (GUI), recursion, and 2-dimensional arrays. Cross-listed Courses: MIS 325 CSC 175. Introduction to Algorithms and Program Design. 4 Credit Hours. This course introduces students to programming with an emphasis on computational problem-solving. Topics include program design and testing strategies, programming language syntax and semantics, scalar data types and an introduction to data structures, control structures, iteration, recursion, file input/output, exceptions as well as an introduction to algorithm analysis. Students will use a high- level programming lanugage to develop programs and reinforce their understanding of topics. Cross-listed Courses: MIS 175 CSC 175L. Lab. 0 Credit Hour. Cross-listed Courses: MIS 175L CSC 179. Transition to Python. 1 Credit Hour. CSC 185. Data Structures & Algorithms. 4 Credit Hours. This course studies data structures and algorithm analysis. Topics include data structures such as list, trees, stackes, queues, heaps, hash tables and graphs, and algorithms for searching and sorting, and simple graph algorithms. Students will also learn how to formally analyze algorithms. The emphasis will be on applying data structures to design and implement efficient algorithms. Students will use a high- level programming language to complete several intermediate sized programming projects to reinforce concepts. Prerequisite: CSC 175 or CSC 179. CSC 275. Data Structures and Algorithms. 3 Credit Hours. This course studies data structures and algorithm analysis. Topics include data structures such as list, trees, stacks, queues, heaps, hash tables and graphs, and algorithms for searching and sorting, and simple graph algorithms. Students will also learn how to formally analyze algorithms. The emphasis will be on applying data structures to design and implement efficient algorithms. Students will use a high- level programming language to complete several intermediate sized programming projects to reinforce concepts. Prerequisites: CSC 170 or CSC 176. CSC 276. Object Oriented Software Design. 4 Credit Hours. This course deals with the general topic of object-oriented software design and introduces an object-oriented programming language. Design strategies (e.g., compositional) and concepts (e.g., functional independence) are discussed in the context of a software design model that contains four elements-architecture, data, interfaces, and components. Different object-oriented software design techniques (e.g., UML), software design metrics (e.g., coupling), and software quality assurance techniques (e.g., review) are discussed and applied to software designs. Also introduced are human-computer interaction, incremental software development using a personal software process, information models and database systems, principles of secure design, defensive programming, threats and attacks, and secure software engineering. Each student will produce design models and a prototype implementation. Prerequisite: CSC 185. CSC 281. Discrete Mathematics. 3 Credit Hours. This course covers the fundamental mathematical principles relevant to computer science, applied mathematics, and engineering. Topics included are functions, relations, sets, propositional logic, predicate logic, proof techniques, (with an emphasis on mathematical induction), basics of counting, and discrete probability. Prerequisite: MTH 145. Cross-listed Courses: MTH 260 CSC 289. Bits, Nibbles, and Bytes. 3 Credit Hours. This course provides an introduction to computer hardware with an emphasis on architecture and low-level programming. Topics include Boolean logic, design of combinational and sequential circuits, design of computer hardware components such as the CPU, machine level representation of data, and basic machine architecture. Assembly language is used to provide a programming experience where the code directly manipulates the CPU and memory. Prerequisite: CSC 185.

CSC 460. Managing Systems Projects. 3 Credit Hours. This course focuses on introductory project management processes, technology and tools, utilizing the Project Management Institute's (PMI) Project Management Body of Knowledge (PMBOK) and the Software Engineering Institute's (SEI's) Capability Maturity Model Integration (CMMI) processes and nomenclature. Students examine the processes and theory of project management as well as industry case studies, and will utilize project management software in support of their management activities. Guest speakers and field research provide students with access and information from industry and academia. Students are engaged in a semester-long project. Initially, they are required to identify the project scope and team charter for their project; subsequent assignments require them to prepare a business case, work breakdown structure, cost estimate, and final project documentation for their project. Cross-listed Courses: MIS 460, MGT 460, RMI 462 CSC 471. Models of Computation. 3 Credit Hours. While most computer science courses discuss problems which are able to be solved by computers, this course will look at both the capabilities and the limitations of computers. We start by analyzing simple models of computation, including finite state automata, and push down automata, and build up to Turing machines, which are powerful enough to model modern computers including multicore parallel machines. The course explores where the boundary lies between what is possible and impossible to compute on each model to draw conclusions about the nature of computation. Prerequisites: CSC 375. CSC 480. Database Management Systems. 3 Credit Hours. This course provides an overview of the concepts and principles of database management systems, blending technical with managerial topics. Students will study the principles of database structures, the database development process, entity-relationship and object-oriented database models, logical and physical database designs, SQL, as well as distributed and object-oriented databases. Students will also examine data warehouses, as well as the challenges of global electronic data management, electronic commerce and ethical issues associated with the increasing integration and complexity of large-scale data sets. Students will complete a database design project during the semester. Prerequisites: CSC 185 or permission of the instructor. Cross-listed Courses: MIS 480 CSC 481. Database Theory. 1 Credit Hour. This course introduces students to the theory behind database technologies. Student's knowledge of SQL will be used to discuss relational algebra, relational calculus, normalization, and functional dependencies. Indexing structures(e.g., b-tree, hashing) and their associated performace characteristics and transaction processing (i.e., commits and concurrency issues) will also be discussed. A student must concurrently take CSC 480(MIS 480). CSC 490. Internship in Computer Science. 1-6 Credit Hours. Participation in a field learning experience in some area of computer science. The student intern reports as required to a supervising faculty member, who will evaluate the internship and its relationship to the student's academic program. May be taken pass/fail only. Prerequisites: a minimum of four computer science courses; junior or senior standing; and approval of the department. CSC 496. Senior Capstone Project. 3 Credit Hours. This course, exclusively for senior computer science and software applications and systems development majors, involves the completion and presentation of a software engineering or research project. A small team of students works on a software engineering project while self- managing their project. The project team produces software engineering artifacts, presentation materials, and a prototype implementation. A research project is typically done by students individually and results in a paper, presentation materials, and a prototype implementation or code to support the research agenda. CSC 497. Senior Capstone Project. 3 Credit Hours. This course, exclusively for senior computer science and software applications and systems development majors, involves the completion and presentation of a software engineering project. A small team of students works on a software engineering project with guidance from a faculty member. The project team produces software engineering artifacts, presentation materials, and a prototype implementation. Prerequisite: Senior status. CSC 498. Cooperative Education Experience. 12 Credit Hours.

Computing Technologies (CTS)

CTS 101. Introduction to Digital Technologies. 3 Credit Hours. The goal of this course is to help students gain a deeper appreciation of the capabilities and limitations of computing. Students will learn core computer science concepts and apply those using tools that they will use as future scientists, data analysts, and decision makers. By understanding software as more than a black box, students are better positioned to understand its value and its results, and make more intelligent decisions about when and how much to rely on sofware results. The course will use tools as Excel, Access, SQL, XML, and NetLogo to demonstrate principles. Cross-listed Courses: CSC 101 CTS 120. Introduction to VIsual Design. 3 Credit Hours. This course introduces the elements of art and principles of design that create the language of visual communication. Through a variety of projects, in-class exercises, and homework assignments, students will engage in a rigorous creative process: brainstorming, conceptualizing, sketching, refinish, and producing. Students will be introduced to a variety of media and techniques and will become more conscious of the conceptual, expressive, and perceptual qualities of their aesthetic decisions, so they can effectively communicate visually. Through exposure to everything from Grand Masters to Madison Avenue ads, students will learn from examples of artists and designers from the past and present who have contributed to the visual landscape, to foster an awareness of visual systems of different cultures, time periods, and contemporary artists and to develop the ability to as critical questions. Slide presentations and sketchbook assignments will introduce a variety of interpretations on how visual thinkers have perceived and used visual concepts and elements in their own artwork. Cross-listed Courses: ART 120, CMM 120

CTS 123. Web Design & Development. 3 Credit Hours. This course focuses on the design and development of web pages, including client-side web-based applications. Topics covered include Web concepts, interaction and user experience design, process used to develop web pages, usability and accessibility practices, techniques for testing and evaluating a web design, simple analytics of user behaviors, and an introduction to client-side scripting. Tools used include HTML, CSS, Web editors, imaging software, and JavaScript. Cross-listed Courses: CMM 123 CTS 223. Web Scripting & Services. 3 Credit Hours. This course further explores JavaScript, with an emphasis on the Document Object Model (DOM), managing events and objects, and obtaining date from databases or web-based information services. Students will be introduced to server-side scripting, content management systems, and other methods and tools used to create dynamic web page content. This course continues to discuss interaction and user experience design, process used to develop web pages, usability and accessibility practices, techniques for testing and evaluating a web design, and simple analytics of user behaviors. Prerequisites: CTS 123. CTS 229. Visual Design Capstone Project. 3 Credit Hours. A culminating experience for stuents to use design and development tools to solve problems or generate insights in the domain of their choice. Prerequisite: Any three Visual Design courses. CTS 233. Data Technologies. 3 Credit Hours. Students use technology tools to understand the different ways in which digital data may be stored, the impact this has on how this data can be retrieved, and the different ways data may be analyzed and visualized. Structured data is emphasized throughout this course, while unstructured data will be introduced and discussed. An introduction to a programming language (e.g., Python, R) is included in this course. And BIO 265, BIO 427, CSC 101, CTS 101, MIS 201, MTH 421, or PHY 333. Prerequisites: MTH 110, MTH 111, STA 201, or MTH 145. CTS 340. Data Science. 3 Credit Hours. This course will provide you the knowledge and techniques to approach phenomena analytically. Specially, you will learn the role and process of the data science lifecycle in understanding and gaining insight about phenomena, including how to ask the appropriate questions, identify the appropriate data and information needed, use the appropriate tools to analyze a large volume of data, evaluate the findings effectively with parameters, find the appropriate answers, and present the answers and compellingly. In the business context such knowledge can enable organizations to make quality decisions and develop important business strategies that can enhance organizational performance and that can contribute to significant financial gains. You will proficiently acquire such knowledge and techniques through class discussion, lectures, readings, as well as hand-on exercises. Prerequisite(s): STA 202 or MTH 112. Cross-listed Courses: MIS 340, ANL 435 CTS 409. Capstone Project in Biology and Computer Science. 1 Credit Hour. This course represents the capstone course for the interdisciplinary minor in Biology and Computer Science. Students will combine their computational and biological skills on a project they identify while faculty will provide mentoring support to project teams. Prerequisites: BIO 192 and CSC 185. CTS 411. Crowds, Social Media & Digital Collaboration. 3 Credit Hours. Over the past years, crowds, social media, and digital collaborations have emerged as important topics in the IS field. Social media and other social information systems not only support communications and collaborations among the general crowd but also harness collective intelligence for innovation. This course covers the basic concepts and theories of social media, crowdsourcing, remixing, and sharing economy. Students will also learn analytics and applications around these trending topics. Prerequisite: MIS 201. Cross-listed Courses: MIS 411 CTS 415. Business Intelligence. 3 Credit Hours. This course provides an introduction to Business Intelligence, including the processes, methodologies, infrastructure, and current practices used to transform business data into useful information and support business decision-making. Business Intelligence requires foundation knowledge in data storage and retrieval, thus this course will review logical data models for both database management systems and data warehouses. Students will learn to extract and manipulate data from these systems and assess security-related issues. Data mining, visualization, and statisical analysis along with reporting options such as management dashboards and balanced scorecards will be covered. Technologies utilized in the course included SAP Business Warehouse, SAP Business Objects, Crystal Reports, and RapidMiner. Prerequisite: MIS 201 or permission of the instructor. Cross-listed Courses: MIS 415, MKT 415, ANL 415 CTS 496. Data Technologies Capstone Project. 3 Credit Hours. A culminating experience for students to use data analysis and visualization tools to solve problems or generate insights in the domain of their choice. Students will work in small teams to deliver a data technology solution to a customer. Prerequisite: CTS 233, CTS 340, CTS 411, or CTS 415.