BSD Curriculum Outline

From PaulGuWiki

Jump to: navigation, search

Seneca College

Contents

Overview

The Software Development Degree was created to address current and future needs for knowledgeable software developers, skilled in both the technical and non-technical aspects of business technology. The curriculum includes an extensive exploration of software languages, operating systems, internet applications, multimedia interfaces, information security, databases and system analysis and design principles. The course of study also emphasizes the importance of communication skills and business acumen in today's knowledge-based economy.

The degree curriculum will apply theory and concepts to the achievement of practical applications. The areas of study include:

  • programming algorithms and software languages
  • operating system architectures
  • internet design and deployment
  • operating system architectures
  • networking and information security
  • database design and development
  • system methodologies and project management
  • techniques for effective communication and teamwork
  • business principles and management practices
  • research and problem solving methods

Semester 1

Programming Fundamentals using C

This subject covers the fundamental principles of computer programming, with an emphasis on problem solving strategies using structured programming techniques. The C programming language, which is widely used and forms the syntactical basis for object-oriented languages such as C++ and Java, is used to introduce problem analysis, algorithm design, and program implementation.

[Top]

Accounting for the Business Environment

This course introduces students to the principles of business accounting. Students learn the theory and calculations supporting profit and loss statements, interest payments and present value, and have the opportunity to apply concepts learned in a series of business-based assignments. Students will also study the design of accounting software and will be required to research various packaged accounting systems as part of a case study to recommend a packaged system for a specific business.

[Top]

Operating Systems for Programmers - UNIX

Unix is a stable, mature, multi-purpose operating system with a reputation for efficiently storing and rapidly delivering Internet content, as well as serving as an effective and efficient development platform for programmers, web designers, graphic artists and document publishers. This course introduces Unix to students majoring in computer programming. Students learn to work in a Unix graphical environment using both Unix and Linux servers. Students also learn to configure their login accounts, manipulate data stored in files, effectively use Unix commands and utilities, and write basic shell scripts.

[Top]

Operating Systems for Programmers - Windows

This subject introduces students to the Windows operating system, with an emphasis on using the Windows platform for software development. Windows is the leading solution for Internet, personal, network, and enterprise server computing, and for programming, because of its rich development environment. In this subject, students will learn operating system concepts, architecture, features, and configuration, while using the most recent version of the Windows operating system. Students will also improve and enhance their user skills during the course. BTO130 also introduces students to the Seneca computing environment. This subject supports and complements the topics learned in all other first-semester subjects, and lays a foundation for upper-semester programming subjects.

[Top]

Critical Thinking and Writing

This course focuses on critical thinking and the rhetorical elements of both persuasive and evaluative forms of writing. Students will learn to differentiate between shades of fact and opinion, objectivity and bias, and to apply the techniques of sound argument for a variety of purposes. The main elements of effective communication and research techniques will also be examined. Techniques explored and developed in this course are applied throughout all courses during the four years of this program.

[Top]

Semester 2

The Object-Oriented Paradigm using C++

This subject introduces the principles of object-oriented programming. Students learn to design and build reusable objects, making use of encapsulation, polymorphism and inheritance as available in the C++ programming language. The emphasis throughout is on an object-oriented approach to the solution of small problems.

[Top]

Database Design Principles

This course introduces the principles of relational database design. Students will be taught how to code SQL (Structured Query Language). A methodology for relational database design that uses Entity Relationship Diagrams and normalization of data in developing a database schema will be covered. A subset of SQL using IBM's DB2 on the iSeries platform is used to implement data tables.

[Top]

Operating Systems for Programmers - iSeries

This subject provides an overview of the iSeries architecture and its integrated facilities. Students will be introduced to the iSeries work management concepts, CL programming to provide application control, Query/400, and interactive programming using RPG IV. This course will be taught using both the GUI and native interfaces of the iSeries and will also cover topics related to the iSeries relational database management system and Websphere Development Studio Client (WDSC) for the iSeries.

[Top]

Interpersonal Communications in Organizations

This subject focuses on spoken and visual means of communication, other than writing. Techniques for attentive listening, purposeful body language, and careful speaking are studied together with an understanding of the psychology that makes them effective.

[Top]

Basic Conversational Spanish

In this course, you will learn the basic structures and vocabulary of the language. Interactive pair work and group work will motivate you not only to speak Spanish in the class, but also to feel confident about using it to communicate in real situations outside the class. There will be an introduction to Latin culture including a comparison of Hispanic perspectives and practices with Canadian ones.

[Top]

Semester 3

Object Oriented Software Development I - C++

This course deepens the student's ability to apply object-oriented problem solving skills using the C++ language. The study of C and C++ syntax is completed, and more advanced programming techniques such as pointer manipulation, dynamic memory allocation, templates and data structures are discussed.

[Top]

SQL Database Design using Oracle

This course covers the advanced principles of relational database design and SQL (Structured Query Language). The entire set of Oracle's SQL*Plus commands will be covered including the use of variables and anonymous blocks.

[Top]

Web Programming on UNIX

Focusing on technologies popular on the Linux/Unix platform, this course will provide the student with the skills and knowledge required to create and maintain commercial-quality web sites suitable for database-driven business transactions. The student will learn to build dynamic web applications using popular web programming languages such as Perl and PHP, while leveraging the power of various databases. Installation and configuration of the Apache web server will be included, as will coverage of Unix-specific Internet-related security issues.

[Top]

Business Requirements Analysis using OO Models

This subject focuses on the techniques and tools involved in gathering and analyzing requirements for business systems. Students will be introduced to system development life cycles, user interface mock-up design, a software requirements document template, and will learn how to use research, observation, interviews, prototypes and feedback to gather client and business requirements. Students will also learn how to analyze requirements using the Unified Modeling Language (UML) and the Rational Rose modeling tool. An in-depth case study will be used throughout the course to allow students to apply what they learn.

[Top]

Business Presentations

This course focuses on solo and team presentations for a variety of purposes and audiences. The planning, preparation, delivery, and follow-up techniques for individual and team presentations will be studied, as well as the choice and use of visual aids. Techniques to handle delays, questions, and hostility will be reviewed. Topics and case situations will be drawn from the field of software development.

[Top]

Current Issues in Canada

Everyone is affected by economic, environmental and social circumstances: health care, education, housing, job opportunities, social services and social values, and the condition of the environment. The purpose of this course is to increase your understanding of current social and economic issues and your ability to analyze information about those issues, and to provide a basis for your participation in Canadian society.

[Top]

Semester 4

Object-Oriented Software Development II - Java

In the short time since its introduction, Java has become one of the most popular programming languages of all time. Java has evolved from a web-based language to a robust language used in all manner of application development. This course will serve as a thorough introduction to Java as an object-oriented language. Topics studied will include OO concepts in Java, threads, exceptions, GUI programming using AWT/Swing, input/output, networking, client-server programming, applets, and database access via JDBC.

[Top]

Data Communications - Networks

This course provides a technical foundation in data communications and network technology. It introduces the various media used along with the main techniques employed to provide reliable and efficient communications. It describes the major transmission systems and networks from Local to Wide Area Networks along with the equipment and techniques used to interconnect them. In addition, the course covers the TCP/IP protocol suite and a number of Internet technologies.

[Top]

Web Programing on Windows

This course specifically addresses the technical skills and business knowledge required to develop database-driven web sites hosted on the Microsoft Windows platform. The course will focus on server-side programming ASP.NET technologies and the Visual Basic .NET language. ADO.NET will be used for database access, and related technology such as XML and Web Services will also be covered. Installation and basic configuration of IIS (Internet Information Server) will be studied, as will Windows-specific Internet-related security theory and practical issues.

[Top]

System Analysis and Design using UML

This course focuses on the practical application of object-oriented concepts for analysis and design to the development of business systems. Students will perform use case analysis to identify initial classes and will progress to detailed class design, defining class attributes, behaviours, hierarchies and relationships. Throughout the course students will be creating a detailed software model based on an in-depth business case study.

[Top]

Business and Technical Writing

This course focuses on the knowledge and skills required for writing pertinent business correspondence and business or technical proposals and reports, as appropriate to the software development field. Examples from this industry will be evaluated for their effectiveness, and students will learn to write abstracts and executive summaries. Common software packages (Word, Excel, PowerPoint) are utilized to communicate material in a variety of print and display formats. Effective use of e-mail is examined and incorporated throughout the course. The preparation of business reports, especially proposals, and technical reports involving research are learned by accomplishment.

[Top]


Investigative Research Internship (Summer Study)

This research internship will take place over a summer semester and will be conducted off-campus with Web-based support from an advisor. In this course students will be required to research opportunities for the use of information technology in business, in government, or in not-for-profit organizations. Students will work on their own with online support from an advisor and from standards and resources published to the Web. Students will identify the need for a computer system in a selected organization, analyze the preliminary requirements of the system, and then create a system development proposal according to published guidelines. Students will be assigned a faculty advisor. The advisor will meet online with each student at regular intervals to review the student's progress, answer questions and give feedback on work performed to date.

[Top]

Semester 5

Data Structures and Algorithms

In this course, the student learns to write and apply, to real programming problems, the classical data structures and algorithms from computer science, such as searching and sorting algorithms, stacks, queues, linked lists and trees. Algorithm efficiency, encryption algorithms, randomized algorithms and heuristic search are among other topics investigated. The C++ Standard Template Library and the Java libraries are also looked at, as examples of data structure implementation.

[Top]

Canadian Business Environment

This course will teach students about the Canadian business environment. Students will learn about types of businesses, corporate social responsibility, performance and financial analysis. A Canadian perspective on global business will be presented. Basic management principles will be covered with regards to Human Resource Management.

[Top]

Major Project - Planning and Design

In this course students will work in groups to plan a major systems development project for a real client. Students will find a client, analyze client business requirements, model the system using object-oriented modeling tools and techniques, design interfaces and plan and start construction, in iterations. Students will complete the system in the follow-up project implementation course.

[Top]

Design for User Interfaces

For any interactive system, the user's convenience depends largely on the ease of use of the interface, and its visual impact. In this subject, students learn the rudiments of visual design, the importance of consistency and intuitively obvious navigation, and the impact on users of fonts, colours, and other elements of screen displays in a user/computer dialogue.

[Top]

Database Connectivity using JAVA

The student will be introduced to connectivity issues that business deals with in today's environment, in creating a GUI front end to a back-end database. In this course students will connect to Oracle database from various back-end environments and will manipulate the data by SQL or database objects. Issues of connectivity across a wide variety of platforms and also through the internet, will be discussed, practiced and implemented.

[Top]

Semester 6

Design Patterns in UML

Traditionally, OO designers have developed their own private "catalogs" of solutions to recurring design problems. More recently, advocates of design patterns have created public repositories of patterns that more formally a) identify these recurring design problems b) document possible solutions to these problems through the general arrangement and composition of objects and classes c) discuss the advantages and disadvantages of the various solutions and d) provide implementation examples. This course will introduce the student to the concept of design patterns, examine several patterns in detail, apply these patterns to specific problems, and point the student to design pattern resources.

[Top]

Law, Ethics and Social Responsibility

This course examines fundamental issues concerning the nature of legal and moral responsibility. What is it to be responsible, i.e. for one's actions? The concept of responsibility is prima facie a kind of liability to the welfare or interests of others. Thus, if one's act is considered "good," then it is deserving of the appropriate praise or reward; an "evil" act, on the other hand, is subject to the required blame, censure, or (if necessary) punishment. Actions, however, can be evaluated in moral and/or legal terms. We may now ask: what is the difference between moral and legal responsibility (for one's actions)? What is the justification of punishment? Similarly, moral blame is a form of punishment; but under what conditions is it reasonable to morally condemn irresponsible acts?

[Top]

In order to properly address these questions, we must first explore their foundation: the nature of law in relation to morality. Is law (necessarily) conditioned by moral principles or only contingently moral, i.e. a "social fact"? Thus, our understanding of moral and legal responsibility turns on our conceptions of morality and law.

[Top]

Major Project - Implementation

This course requires students to apply the object-oriented design and implementation concepts, tools and techniques learned in previous courses to a larger-scale project. As part of a project development team, students will take their system proposal from BTS530 (Major Project Design and Planning) and continue its development -- planning, designing, coding, testing, and documenting a complete system, rolling it out by the end of semester.

[Top]

Multimedia Presentations

This course extends the material covered in BTC340 (Business Presentations) to cover presentations delivered via electronic media. Similar communications principles are reviewed, and alternative media are discussed, as well as the techniques for exploiting the available media to make presentations more effective as tools for informing, educating, marketing, or entertaining.

[Top]

Co-op Professional Practice

Co-op education is meant to provide learners with the opportunity to integrate academic learning with relevant work experience. It also provides the opportunity to learn more about themselves and their chosen field of study. The purpose of this work term is to enable the learner to make a smooth transition from the academic setting to a work environment. In this course, learners will develop strategies to assist them in the job search process.

[Top]

Web Services Architecture

Web services are Web-based enterprise applications that use open, XML-based standards. Emerging web services standards such as SOAP, WSDL and UDDI will enable system-to-system integration. This course specifically addresses the skills needed to understand basics concepts like XML (Extensible Markup Language), WSDL (Web Services Description Language), UUDI (Universal Description, Discovery and Integration) and SOAP (Simple Object Access Protocol). The Java API for XML Web Services (JAX-WS) is the centerpiece of a newly rearchitected API stack for Web services that includes JAX-WS, JAXB, and SAAJ. This course describes the integrated stack that represents a logical rearchitecture of Web services functionality in the Java WSDP.

[Top]

Semester 7

Information Security

With the ever-expanding use of the internet there has been an increased need for security at all levels within data communications. This course provides the technical foundation required to understand the security concerns faced by network administrators, technical support staff and end users in today's data communications environments. Current security solutions that address issues such as Authentication and Authorization, Data Integrity, Non Repudiation, Privacy/Confidentiality, and Availability of Service will be examined through a combination of lectures and hands-on labs.

[Top]

Marketing Principles and Practices

This course explores the current business trend toward customer centric marketing. Students will identify and analyze customers as markets for specific products, and will examine the controllable elements within the marketing mix. This course focuses on the day to day decision making and research that marketing activities entail.

[Top]

Project Management Methodologies

This course covers Project Management throughout a project life cycle. The student will acquire the skills for planning a project, determining budget and resources, estimating, identifying risk and conducting cost/benefit analysis. Techniques to bring a project in on schedule and within budget will also be covered. An overview of managing projects where multiple technologies, vendors and project teams are involved will also be addressed. The concept of a Project Control Office will be discussed. An automated project management tool will be used. Quality Assurance related to project development and implementation will be covered.

[Top]

Human Factors in Computing

Building on principles learned in BTH540 (Design for User Interfaces) and two previous Communications/Presentations courses, BTH740 will focus on psychological and physiological factors in human/computer interaction. In this subject, students will gain a deeper understanding of the influence of culture and human behavioural patterns on the use of computers and on the development of interface design as well as ways in which computer technology itself may influence human behaviour. The course will also examine broad issues of ergonomics and their influence on human/computer interaction.

[Top]

Co-op Integration and Career Planning

The integration of classroom activities with work term experience is vital for the complete and successful learning and understanding of co-op work placement experiences. Structured integration and reflective learning with peers provides the opportunity to evaluate work experience into a broader context. Guest speakers from the industry will give students further employment exposure and an opportunity to network.

[Top]

Topics in Open Source Development

This course introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in a real open source project/projects. Students will learn to use the tools, techniques, and strategies of OS developers. This is a project-based programming course. The particular open source project(s) to be studied will vary with each offering and be announced at the beginning of the semester.

[Top]

Semester 8

Research Methodologies and Project

In the first half of this course the student will be introduced to research methodologies and resources through a series of small research projects. These projects will include summarizing, paraphrasing, analyzing and synthesizing information. In the second half each student will undertake an in-depth research project, under the supervision of a faculty member, on emerging or new technologies, culminating in a formal project presentation. Completed projects will become part of a student's professional portfolio, and will be catalogued and kept at the college for future learners' reference.

[Top]

Technology Planning and Acquisition

This course will teach the students how to plan the technology requirements for a business. They will perform the steps necessary to select and acquire specific technology. Technology trends and the impact on an organization when doing technology planning will also be discussed. Students will learn the components of outsource contracts, how to prepare effective RFPs for the procurement of various types of services or technologies, as well as learning how to manage contracts and determining method of acquisitions such as lease versus buy.

[Top]

Java EE Architecture and Enterprise JavaBeans

The popularity of the new enterprise architecture J2EE (Java 2 Enterprise Edition) has resulted in demand for EJB (Enterprise JavaBeans) component programmers. This course will emphasize the development of reusable J2EE components and also provide comprehensive coverage of EJB architecture. Topics covered will include J2EE architecture and a brief review of web components: Servlets, JSPs. Technologies that are relevant to EJB: XML (Extensible Markup Language), JMS (Java Message Service), etc. will also be studied with a particular emphasis on the design, architecture and development of EJBs. The course will present a set of advanced skills necessary to implement session, entity and message driven beans, and common EJB design pattern will be defined in implementing an enterprise application.

[Top]

C# and Windows Programming

This course provides an in-depth introduction to programming for the Microsoft Windows platform, using the C# language and the .NET Framework. Starting with coverage of the syntactical differences of C# from C++ and Java, the student continues with a thorough treatment of the language and framework. Topics include creating graphical user interfaces, writing multi-threaded programs and developing distributed applications. Upon completion, the student will be ready to use C# for real-world projects.

[Top]

Food for Thoughts

This course examines the many roles of food in our lives. Through a variety of media, students will explore the physiological, psychological and sociological importance of food. The course examines such topics as holidays and rituals, food and the life cycle, food fads and myths, traditions, food etiquette, food and health, and international foods.

[Top]
modified on 31 December 2007 at 04:00 ••• total 19,698 views ••• Top