As the fall semester approaches, the KSU Writing Center has been preparing for the return back to the hectic life of the school year. In our preparation, we have stocked our shelves with several new books and new editions of our manuals to help with your writing!
As many of you may know, MLA has recently updated its handbook to the new 8th edition! The changes will allow writers to cite their sources more efficently, using only the most important information. One of the changes taking place is the elimination of the medium of sources. MLA is also integrating the use of URLs and DOIs, something the APA style already does. Be sure to familliarize yourself with these and several other changes in MLA. Visit the Writing Center this summer or early in the fall semester to discuss these changes with one of our Writing Assistants to keep your MLA papers up to date!
In addition to the new MLA Handbook, the Writing Center has also stocked up on the Chicago Style 16th edition and several other helpful books such as the tenth edition of Understanding English Grammar, which goes into thorough detail about the different rules of the English language.
Drop by your KSU Writing Center to utilize these and several other new texts and prepare for your upcoming papers in the fall semester!
Ahhh, summer!
It’s finally here! A time for cookouts, ice cold lemonade, and vacations to the beach! It’s also a time to continue your growth as a writer!
Maybe you’ve been working on a novel or short story over the past few months. Summer is a wonderful time to refresh your brain and allow new ideas to flow freely. It could also be a time to step back from a piece of writing that seems to be going nowhere and has you frustrated. But don’t let that work go to waste! Keep it in the back of your mind and keep a notebook and pen close by in case you have an unexpected surge of inspiration!
Summer could also be a time for you to try your hand at a new form of writing! If you have plans to travel somewhere this summer, perhaps you could do a bit of travel writing! It’s a perfect way to document the fun times you have with your friends and family and to keep yourself active in the process of becoming a successful writer!
Check out these helpful tips for travel writing gathered from The Guardian:
☀ Make your story a personal account, interwoven with facts, description and observation.
☀ Many writers start their piece with a strong, but brief, anecdote that introduces the general feeling, tone, and point of the trip and story. Grab the reader’s attention and make them want to read on. Don’t start with the journey to the airport – start with something interesting, not what happened first.
☀ Early on you need to get across the point of the story and trip – where you were, what were you doing there, and why.
☀ Try to come up with a narrative thread that will run throughout the piece, linking the beginning and end. The piece should flow, but don’t tell the entire trip chronologically; cherry pick the best bits, anecdotes and descriptions that will tell the story for you.
☀ Quotes from people you met can bring the piece to life, give the locals a voice, and make a point it would take longer to explain yourself. Quote people accurately and identify them. Who are they? Where did you meet them?
☀ Avoid cliches. Try to come up with original descriptions that mean something.
☀ Don’t use phrases and words you wouldn’t use in speech, and don’t try to be too clever or formal; the best writing sounds natural and has personality. It should sound like you.
☀ Check your facts! It’s good to work in some interesting nuggets of information, perhaps things you’ve learned from talking to people, or in books or other research, but use reliable sources and double-check they are correct.
☀ Write economically – don’t waste words on sentences that could be condensed.
☀ Moments that affected you personally don’t necessarily make interesting reading. Avoid tales of personal mishaps unless pertinent to the story. Focus on telling the reader something about the place, about an experience that they might have too if they were to repeat the trip.
Most importantly, enjoy the process! Have fun exploring a new place and writing about your experience!
Happy Writing!
-
CS 2290 - Special Topics
The course covers special topics at the intermediate level that are not in the regular course offerings.
Prerequisites: Approval of the instructor, major area committee, and department chair.
Credits: 3
-
CS 3223 - Computer Architecture
A study of instruction set architectures; basic processor components such as control units, ALU's, and registers; memory; input/output; and performance enhancement using caches and pipelines. Design of the major processor components is discussed in terms of the concepts presented in . Some coverage of assembly language programming is included.
Prerequisites: and CSE 1301
Credits: 3-0-3
-
CS 3305L - Data Structures Lab
This laboratory course will cover the implementation of data structures concepts in a contemporary programming language.
Prerequisites: (CSE 1322 and CSE 1322L) and MATH 2345
Credits: 1
-
CS 3305 - Data Structures
This course introduces data structures, specification, application, and implementation. The case studies will illustrate how data structures are used in computing applications. The emphasis of the course is on linear and some nonlinear data structures and object oriented principles. Topics include: abstract data types, stacks, queues, lists, binary search trees, priority queues, recursion, algorithm efficiency, trees, heaps, hash tables, and analysis of search and sort algorithms and their performance for implementation and manipulation. The programming language to be used in this course is any standard high-level object-oriented programming language such as C++, Java, and Ada.
Prerequisites: MATH 2345 and (CSE 1322 and CSE 1322L)
Credits: 3
-
CS 3410 - Introduction to Database Systems
Introduction to the database management systems, database processing, data modeling, database design, development, and implementation. Contrasts alternative modeling approaches. Includes implementation of current DBMS tools and SQL.
Prerequisites: A grade of B or better in both CSE 1322 and CSE 1322L
Credits: 3
-
CS 3502 - Operating Systems
This course introduces the fundamental concepts and principles of operating systems. Topics covered include system performance, processes and threads, multiprogramming, scheduling, memory management, synchronization, deadlocks, file systems, Input/output systems. Additional topics: security and protection, network and distributed OS.
Prerequisites: (CS 3503 and CS 3503L) and (CS 3305 and CS 3305L)
Credits: 3
-
CS 3503L - Computer Organization and Architecture Lab
This course will provide the student the opportunity to access some of the physical components of a computer and generate code to manipulate these components.
Prerequisites: CSE 1322 and CSE 1322L
Credits: 1
-
CS 3503 - Computer Organization and Architecture
Introduction and overview of basic computer organization. Computer arithmetic: binary, hexadecimal and decimal number conversions, binary number arithmetic and IEEE binary floating point number standard. Basic computer logic: gates, combinational circuits, sequential circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming, basic Instruction Set Architecture (ISA), and the design of single cycle CPU. Hardware security will be introduced.
Prerequisites: CSE 1322 and CSE 1322L
Credits: 3
-
CS 4242 - Artificial Intelligence
The primary objective of this course is to provide a introduction to the basic principles and applications of Artificial Intelligence. It covers the basic areas of artificial intelligence including problem solving, knowledge representation, reasoning, decision making, planning, perception and action, and learning -- and their applications. Students will design and implement key components of intelligent agents of modern complexity and evaluate their performance. Students are expected to develop familiarity with current research problems, research methods, and the research literature in AI.
Prerequisites: CS 3305 and CS 3305L
Credits: 3
-
CS 4265 - Big Data Analytics
This course covers algorithms and tools that are needed to build MapReduce applications with Hadoop or Spark for processing gigabyte, terabyte, or petabyte-sized datasets on clusters of commodity hardware. A wide range of data algorithms will be discussed in this course.
Prerequisites: A grade of C or better in (CS 3305 and CS 3305L) and CS 3410
Credits: 3
-
CS 4267 - Machine Learning
This course covers the-state-of-the-art machine learning techniques. Focuses will be put on deep learning, kernel methods and ensemble learning. Students will learn applying advanced machine learning techniques to solve challenging problems, especially big data problems.
Prerequisites: A grade of C or better in (CS 3305 and CS 3305L) and CS 3410
Credits: 3
-
CS 4270 - Intelligent Systems in Bioinformatics
Biological sciences are undergoing a revolution in how they are practiced. In the last decade, a vast amount of biological data has become available, and computational methods are playing a fundamental role in transforming this data into scientific understanding. Bioinformatics involves developing and applying computational methods for managing and analyzing information about the sequence, structure and function of biological molecules and systems. This course covers a wide range of machine learning, data mining, and computational algorithms to solve various bioinformatics research problems.
Prerequisites: A grade of C or better in (CS 3305 and CS 3305L) and CS 3410
Credits: 3
-
CS 4305 - Software Engineering
This course provides an overview of the software engineering discipline with emphasis on the development life cycle and UML modeling. It introduces students to the fundamental principles and processes of software engineering, including Unified, Personal, and Team process models. This course highlights the need for an engineering approach to software with understanding of the activities performed at each stage in the development cycle. Topics include software process models, requirements analysis and modeling; design concepts and design modeling; architectural design and styles; implementation; and testing strategies and techniques. The course presents software development processes at the various degrees of granularity.
Prerequisites: CS 3410, CSE 3801, COM 1100
Credits: 3
-
CS 4306 - Algorithm Analysis
Advanced algorithm analysis including the introduction of formal techniques and the underlying mathematical theory. Topics include asymptotic analyses of complexity bounds using big-O, little-o, omega, and theta notations. Fundamental algorithmic strategies (brute-force, greedy, divide-and-conquer, backtracking, branch-and-bound, pattern matching, parallel algorithms, and numerical approximations) are covered. Also included are standard graph and tree algorithms. Additional topics include standard complexity classes, time and space tradeoffs in algorithms, using recurrence relations to analyze recursive algorithms, NP-completeness, the halting problem, and the implications of non-computability.
Prerequisites: CS 3305 and CS 3305L
Credits: 3
-
CS 4308 - Concepts of Programming Languages
This course covers the fundamental concepts on which programming languages are based and the execution models supporting them. Topics include values, variables, bindings, type systems, control structures, exceptions, concurrency, and modularity. Languages representing different paradigms are introduced.
Prerequisites: (CS 3503 and CS 3503L), and (CS 3305 and CS 3305L)
Credits: 3
-
CS 4322 - Mobile Software Development
This course primarily focuses on mobile sensor application development and security of smartphones and mobile telecommunication systems. The goals of the course is to provide students with real world relevant mobile sensor app development and improve their knowledge and skills on mobile application development and mobile security.
Prerequisites: (CS 3305 and CS 3305L) and (CS 3410 or CSE 3153) and SWE 3313
Credits: 3
-
CS 4400 - Directed Studies
This course covers special topics of an advanced nature that are not in the regular course offerings. Up to three hours may be applied to the major area.
Prerequisites: Approval of the instructor, major area committee, and department chair.
Credits: 1-3
-
CS 4412 - Data Mining
This course covers fundamental data mining concepts and techniques for discovering interesting patterns from data in various applications. Topics include data preprocessing, data warehousing and OLAP, mining frequent patterns, classification, clustering, and tend analysis.
Prerequisites: (CS 3305 and CS 3305L) and CS 3410
Credits: 3
-
CS 4491 - Advanced Topics in Computer Science
This course provides the current and relevant topics in an advanced Computer Science area of interest to faculty.
Prerequisites: A grade of C or better in any prerequisite course. Prerequisite course(s) vary depending upon the topic.
Credits: 3
-
CS 4504 - Distributed Computing
A course that introduces students to the fundamental principles common to the design and implementation of programs that run on two or more interconnected computer systems. The subtopics, which are based on these principles, include: distributed operating system and network protocols for process communication, synchronization, scheduling, and exception and deadlock resolution; understanding of client-server, web-based collaborative systems; parallel computing; concurrency issues; and API's for distributed application development. Several distributed computing environments, like MPI, PVM, and Java RMI are discussed and used in developing experimental projects in a cluster of networked computers.
Prerequisites: CS 3502
Credits: 3
-
CS 4512 - Systems Programming
This course presents an introduction to systems programming in Linux/Unix. Topics include file I/O, process control and communication, threading, and network-aware systems programs.
Prerequisites: (CS 3305 and CS 3305L), and CS 3502
Credits: 3
-
CS 4514 - Real-Time Systems
This course covers the software-development life cycle as it applies to real-time systems. Alternatives: • Including labs that involve the use of a real-time operating system and an associated development environment, or • Modeling with UML, and object oriented simulation. Introduction to formal specification of real-time systems. A course project is required to be completed by the end of the semester.
Prerequisites: CS 3502
Credits: 3
-
CS 4522 - HPC & Parallel Programming
This course will introduce parallel programming techniques for shared memory and distributed memory systems. Topics include threading, OpenMP, and MPI.
Prerequisites: (CS 3305 and CS 3305L), and CS 3502
Credits: 3
-
CS 4523 - Programming Massively Parallel Processors
A study of practical parallel algorithms with an emphasis on implementation and performance issues on massively parallel processors. Design and implement high performance computing applications using CUDA running on Graphics Processing Unit (GPU). Topics include heterogeneous parallel programming, hardware threading models, synchronization, parallel blocking algorithms, register allocations, memory performance, and inter-thread communication.
Prerequisites: (CS 3305 and CS 3305L), and CS 3502
Credits: 3
-
CS 4524 - Cloud Computing
This course discusses the fundamental concepts and techniques of cloud computing. Students will develop an understanding of cloud computing architecture, Infrastructure as a Service (IaaS), Platform-as-a-Service (PaaS), Software as a Service (SaaS), Virtualization, and Application Development on Cloud.
Prerequisites: (CS 3305 and CS 3305L) and CS 3502
Credits: 3
-
CS 4612 - Secure Software Development
This course covers the design and implementation of secure software. Some of the topics covered are the characteristics of secure software, the role of security in the development lifecycle, designing secure software, and best security programming practices. Security for web and mobile applications will be covered.
Prerequisites: CS 3503 and CS 3503L
Credits: 3
-
CS 4622 - Computer Networks
This course covers computer networking and includes software application-related, protocol-related and security-related issues involved in the Internet. Topics include basic network structures, mechanisms for application-to-application communications, protocol layering, Internet addressing, unicast and multicast routing, connection establishment and termination, data flow and congestion control, and error handling. A specific protocol suite will be examined in detail. More advanced topics that build on the student's understanding of network protocols are also introduced, such as network security, mobile networks and the future Internet.
Prerequisites: CS 3503 and CS 3503L
Credits: 3
-
CS 4632 - Modeling and Simulation
This course covers the modeling and simulation of the structure and behavior of real-world systems using object-oriented discrete-event simulation techniques. The course emphasizes the modeling and computer programming perspective of simulation; design and implementation of simulation models. The fundamental concepts of object-oriented simulation are introduced. Model implementation will require programming in an object-oriented simulation language such as OOSimL, or in a general purpose programming language (Java or C++). Students will also be exposed to a commercial integrated simulation software tool: Arena.
Prerequisites: CS 3305 and CS 3305L
Credits: 3
-
CS 4712 - User Interface Engineering
A comprehensive study of techniques in design and implementation of user interfaces engineering. Topics include the foundation of human-computer interaction and interface related to software lifecycle, building a graphic user interface engineering, interaction devices and technologies, human-computer dialogue, cognitive models, usability, the design and development process, user interface management systems (UIMS), interface style and techniques, user learning, and diversity in interaction styles. Major research and the building of a working graphic user interface are included.
Prerequisites: CSE 1322 and CSE 1322L
Credits: 3
-
CS 4720 - Internet Programming
This course introduces current technologies for modeling, designing, implementing, and developing Web applications. Topics include developing for the server and the client, programming frameworks, server administration and integration with databases. Practice will involve platforms and language such as Linux, Python, PHP, Ruby and JavaScript.
Prerequisites: (CS 3305 and CS 3305L) and (CSE 3153 or CS 3410)
Credits: 3
-
CS 4722 - Computer Graphics and Multimedia
The basic principles and practices of interactive computer graphics and multimedia systems are covered in this introductory course. The design and implementation of state-of-the-art computer graphic rendering and visual multimedia systems are the main part of the course. The sub-topics of the course deal with specific input/output hardware devices and their technology, software and hardware standards, programming methods for implementing 3-dimensional graphical applications and interactive multimedia applications, and a study and evaluation of the effectiveness of graphic/multimedia communications. A large component of the class is the building of a large-scale application.
Prerequisites: CS 3305 and CS 3305L
Credits: 3
-
CS 4732 - Machine Vision
This course introduces concepts and techniques in machine vision. Students successfully completing this course will be able to apply a variety of image processing techniques for the design and analysis of efficient algorithms for real-world applications, such as optical character recognition, face detection and recognition, motion estimation, human tracking, and gesture recognition.
Prerequisites: CS 3305 and CS 3305L
Credits: 3
-
CS 4850 - Computer Science Senior Project
The course provides a capstone experience for CS majors to promote a successful transition to the work place or further academic study. Students will have the opportunity to practice essential project management skills and work with current software tools and technologies. Student teams will develop a project scope, project plan, document functional specifications, develop a design document, implement specified functions, provide weekly progress reports, give project presentations to the class, conduct final project presentation to the instructor and/or project sponsor, and provide a complete final report that includes documentation of all class activities. Each team will designate a team leader who is responsible for coordinating work tasks, team meetings, communications with the instructor and/or project sponsor, and team effort.
Prerequisites: CS 3502 and CS 4305
Credits: 3
33