Bachelor Of Science In Computer Science - KSU

Transcription

College of Computer & InformationSciencesComputer Science DepartmentBachelor of Science inComputer ScienceSTUDENT GUIDE2019

Bachelor of Science in Computer ScienceA bit of cs . 4Mission . 4Objectives . 4Bachelor of science in computer science . 5Admission requirements . 5Program structure . 6Coursed description . 12Rules and regulation . 22Study system . 22Attendance . 23Withdrawal . 23Re-registration . 23Graduation . 24Honors . 24Final examinations . 25Transfer . 25Dismissal from the university . 25Financial affairs . 26Loans and financial aid . 26Jobs in campus. 26Electronic services. 26Edugate . 26Student email . 27Learning management system (LMS) . 28E-library . 28Important links . 29Campus map . 30 Page2

Bachelor of Science in Computer SciencePREFACEWelcome to join the Department of Computer Science in the college of Computer and InformationSciences at King Saud University!The Department of Computer Science provides high-quality education that prepares students for thecomputing industry and/or graduate education.The BSc. program in Computer Science is designed to improve the competitiveness of the graduates bydeveloping their professional skills with a clear commitment to the ethics of the discipline. The BSc.curriculum nurtures a culture of teamwork, entrepreneurship, leadership and the sense of societyresponsibility. The BSc. program in Computer Science is accredited by the international computingaccreditation commission ABET.The Msc. program in Computer Science serves to deepen student's understanding of the field inpreparation for career advancement or doctoral studies. The Department of Computer Science is the firstdepartment in the kingdom to admit and grant Master degrees in computer science for female studentsproviding the society with much needed qualified workforce.The PhD Program aims to promote scientific research and to prepare specialized scientists and qualifiedresearch staff as well as to find solutions to problems of computer science, in both the private and thepublic sectors, and to give students in the program means, methods and scientific methodologiesnecessary for those who are distinctive in computing sectors.We invite you to read the booklet, browse our website, visit our campus, and contact us to learn moreabout our department. You will find a challenging curriculum, excellent facilities, and an accessible facultycommitted to quality computer science education.Chair: Prof. Hatim Aboalsamhe-mail: hatim@ksu.edu.saTel: 0114676607Secretary: 0114670697ViceChair: Dr. Manar Fawzi Hosnye-mail: mifawzi@ksu.edu.saTel: 0118050823Secretary: 0118052890 Page3

Bachelor of Science in Computer ScienceA BIT OF CSComputer science is a discipline that spans theory and practice. It has a wide range of specialties such asprogramming languages, databases, computer architecture, software systems, graphics, artificialintelligence, computational science, software engineering, networks, etc. Computer science also hasstrong connections with other disciplines such as engineering, healthcare, business, etc.The Computer Science Department is the largest department in the College of Computer and InformationSciences at King Saud University. It was established in 1404/1405 H. Since then, the department graduateshave joined many government and private sectors.The department relies on highly qualified academic and administrative staff. Most of them hold postgraduate degrees obtained from recognized local and international universities. Faculty members areinvolved in teaching and research. Their research activities find applications in various science fields, andare published in high quality international conferences and journals. VISIONPreparing highly qualified professionals in Computer Science for an efficient contribution to theedification of the knowledge society and to the achievement of the national development goalsthrough fostering an academic environment ideal for knowledge development, research, andinnovation in the field of Computer Science. MISSIONAn internationally leading academic model in Computer Science. OBJECTIVESo Graduates will work as computing professionals, conducting research and/or leading,designing, developing, or maintaining computer-related projects in various fields.o Graduates are capable to demonstrate professionalism and a sense of societal and ethicalresponsibility in all their endeavors.o Graduates continue enhancing their skills and embrace new computing technologiesthrough self-learning activities and post-graduate training or education. Page4

Bachelor of Science in Computer ScienceBACHELOR OF SCIENCE INCOMPUTER SCIENCEThe department of computer science was established in 1984 with a B.Sc. program to prepare a highlycompetent creative workforce in the field of computer science. The department, since its inception, hasmade significant progress. To develop competent professionals in the field of computer science withhigh moral and ethical values, the program focuses on the following knowledge areas:ooooooComputer science.Basic sciences in Mathematics, Statistics, and Physics.Humanities and Social Sciences.English Language.Arabic Language and Islamic Culture.The program satisfies the ACM/IEEE recommendations for computer science curriculum andtakes into account the community needs. The department staff is continuously working onupdating the B.Sc. program to meet the latest technologies in computer science and the rapidchanges in society needs. ADMISSION REQUIREMENTSIn general, students applying to the College of Computer and Information Sciences are centrallyadmitted by the Deanship of Admission and Registration to the Engineering/Science branch of theFirst Common Year (FCY). Since 2008, students have been required to take a Subject AchievementTest (score is calculated as a composite score of a test administered in four subjects: (Math, Physics,Chemistry, and Biology). The minimum requirements for admission to the FCY are based on thefollowing criteria: The total number of accepted students should not exceed the number specified by theuniversity council. Students are ranked and selected according to their composite average as follows:o 30% of General Aptitude Test.o 40% of Subject Achievement Test.o 30% of Secondary School GPA.After completing the FCY, students are accepted to the college and distributed to the variousdepartments according to three criteria: their preference, GPA from the FCY, and the capacity of eachdepartment.The requirement for the admission of students to the College of Computer and Information Sciencesis based on a composite average not less than 75% which is calculated as follows:oooo Page525% of General Aptitude Test.25% of Subject Achievement Test.7 GPA of FCY.Points of Math 101 Course in FCY.

Bachelor of Science in Computer Science PROGRAM STRUCTUREThe distribution of credit hours in the CS program is as following:TermUniversity RequirementsFirst Common YearCollege RequirementsDepartment RequirementsDepartment ElectivesCredit Hours Updates832146612Total132A. University RequirementsThe following table shows courses that are mandatory at the University level:CodeIC107IC 108IC 10xIC 10xUniversity RequirementsCourse NameCreditPrerequisiteHoursProfessional Ethics2Current Issues2One KSU Requirement2CourseOne KSU Requirement2CourseTotal8Co-requisiteB. Collage RequirementsThe following table shows mandatory courses at the college level:CodeCSC 111CSC 113CSC 212CSC 227College RequirementsCourse NameCreditHoursComputer Programming I4 (3. 2. 1)Computer Programming II4 (3. 2. 1)Data Structures3 (3. 0. 1)Operating Systems3 (3. 0. 1)Total14PrerequisiteCT 101CSC 111CSC 113CSC 212Co-requisiteC. Department RequirementsMandatory courses at the department level are listed in the following table:CodePHYS 104MATH 106MATH 151 Page6Department RequirementsCourse NameCreditHoursGeneral Physics -24Integral Calculus3Discrete Mathematics3PrerequisiteMATH 101MATH 101Corequisite

Bachelor of Science in Computer ScienceCSC 215Procedural Programming With C3 (2. 2. 0)CSC 111CSC 220MATH 244CSC 2813 (2. 2. 1)33 (3. 0. 1)MATH 151MATH 106STAT 101,MATH 151CSC 113CSC 361CSC 429Computer OrganizationLinear AlgebraDiscrete Mathematics forComputer ScienceEthical Issues in Computing andResearch MethodsDesign and Analysis ofAlgorithmsComputer NetworksTheory of ComputationProgramming Languages andCompilationSystems analysis and designFundamentals of DatabaseSystemsArtificial IntelligenceComputer securityCSC 453CSC 304CSC 311CSC 329CSC 339CSC 340CSC 343CSC 3803 (3. 0. 1)3 (3. 0. 1)3 (3. 0. 1)3 (3. 0. 1)3 (3. 0. 1)CSC 281CSC 212CSC 227CSC 281CSC 3393 (3. 0. 1)3 (3. 0. 1)CSC 2123 (3. 0. 1)3 (3. 0. 1)CSC 212CSC 329Parallel Processing3 (3. 0. 1)CSC 227CSC 457Internet Technologies3 (3. 0. 1)CSC 329CSC 496Graduation Project I2 (2. 0. 0)CSC 497Graduation Project II4 (4. 0. 0)CSC 343Finishing 95hoursCSC 496CSC 479Practical Training1One course from List A4Total66XXX XXXCSC 212Finishing 95hoursD. Department electivesThe CS department allows students to take 12 credit hours of elective courses. The courses thatare offered as electives are listed in the following table:CodeCSC 226CSC 261CSC 320CEN 333 Page7Department ElectivesCourse NameCreditHoursUnix OS Environment2 (1. 2. 0)Artificial Intelligence3 (3. 0. 1)Programming LanguagesSystems Programming3 (3. 0. 1)Computer Architecture forComputer SciencePrerequisiteCSC 111CSC 113CSC 227CSC 2273 (3. 0. 1)Corequisite

Bachelor of Science in Computer ScienceCSC 384CSC 412Applied NumericalComputationAlgorithms & Techniquesfor Database ManagementSystemsSimulation and ModelingCSC 430Computer Arabization3 (3. 0. 1)CSC 4403 (3. 0. 1)3 (3. 0. 1)CSC 343CSC 446Human ComputerInteractionSoftware/IT ProjectManagementDesign PatternsCSC 111STAT 101CSC 220CSC 227CSC 3433 (3. 0. 1)CSC 343CSC 456Distributed Systems3 (3. 0. 1)CSC 329CSC 459Net-Centric Computing3 (3. 0. 1)CSC 329CSC 462Machine Learning3 (3. 0. 1)CSC 361CSC 463Knowledge Engineering &Expert SystemsComputer Graphics3 (3. 0. 1)CSC 3613 (3. 0. 1)CSC 212Digital Images Processing& AnalysisInformation Retrieval3 (3. 0. 1)CSC 2123 (3. 0. 1)CSC 380Selected Topics inComputer Science3 (3. 0. 1)Finishing 100hoursCSC 386CSC 443CSC 476CSC 478CSC 484CSC 489 Page83 (3. 0. 1)CSC 3113 (2. 2. 0)CSC 3803 (3. 0. 1)

Bachelor of Science in Computer ScienceList A: List of Science CoursesCodeCourse NamePHYS 103 General Physics (1)CHEM 108 Introduction to OrganicChemistryPHYS 210 Classical Mechanics 1CreditHours4Prerequisite4CHEM 1014MATH 101CorequisiteList B: List of Elective Courses from Other DepartmentsCodeCreditHours2Prerequisite3CSC 3803CSC 380Software Testing andValidationNetworks Protocols&Algorithms3CSC3433CSC 329IS 463Introduction to DataMining3CSC 361IS 466Decision Support Systems3CSC 380Mobile ApplicationDevelopment3CSC 113Studies in The ProphetBiography2Quran Kareem2IC 101Principles in IslamicCulture2IC 102Family in Islam2IC 103Economic System in Islam2IC 104Islamic Political System2IC 105Human Rights2IC 106Medical Jurisprudence2IC 109Development Role OfWomen2SWE 333IS 335IS 432SWE 434CEN 445SWE 483IC 100QURN 100 Page9Course NameSoftware QualityAssuranceDatabase ManagementSystemsSemi-Structured DataCSC 343

Bachelor of Science in Computer ScienceE. Curriculum Plan1st SemesterPreparatory Year (1st Year)Course CodeENGS 100MATH 101ARAB 100CHEM 101Course TitleCHEnglishDifferential CalculusWriting skillsGENERAL CHEMISTRY (1)TotalPreRequisiteCo-Requisite632415 CH2nd SemesterSTAT 101CT 101ENT 101EPH 101CI 101ENGS 110An Introduction to Probability &StatisticIT skillsEntrepreneurshipFitness and Health EducationUniversity SkillsEnglishTotal33113617 CHENGS 1003rd Semester2nd YearCourse CodeCSC 111MATH 106MATH 151PHYS 104IC107CSC 113CSC 220IC 108MATH 244 P a g e 10Course TitleCHComputer Programming IIntegral CalculusDiscrete MathematicsGeneral Physics-2Professional EthicsTotal4334216 CH4th SemesterComputer Programming IIComputer OrganizationCurrent IssuesLinear AlgebraTotal432312 CHPreRequisiteCT 101Math 101Math 101CSC 111MATH151MATH 106CoRequisite

3rd YEAR Bachelor of Science in Computer ScienceCourse CodeCSC 212CSC 281CSC 380CSC 304CSC 215CSC 227CSC 311CSC 339CSC 343CSC 3615th SemesterCourse TitleData StructuresDiscrete Mathematics forComputer ScienceFundamentals of DatabaseSystemsEthical Issues in Computing andResearch MethodsProcedural Programming With CTotal6th SemesterOperating SystemsDesign and Analysis of AlgorithmsTheory of ComputationSystem Analysis & DesignArtificial IntelligenceTotalCH33PreRequisiteCSC 113Stat 101,Math 1513CSC 2123CSC 113315 CHCSC 11133CSC 212CSC 281CSC 212CSC 281CSC 212CSC 21233315 CH7th Semester4th YEARCSC 329CSC 34033CSC 227CSC 339CSC 453CSC 496Computer NetworksProgramming Languages andCompilationParallel ProcessingGraduation Project I32CSC 479Field Experience1CSC 227CSC 343Finishing95 HoursFinishing95 HoursTotal12 CHth8 SemesterCSC 429CSC 457CSC 497 P a g e 11Computer SecurityInternet TechnologiesGraduation Project IITotal33410 CHCo-RequisiteCSC 329CSC 329CSC 496

Bachelor of Science in Computer Science COURSED DESCRIPTIONA. Mandatory CoursesCSC 111 – Computer Programming-I (3-2-1)CourseIntroduction to computers and programs. Programmer’s algorithm, byte code andDescriptionJava Virtual Machine. Java program’s structure, constants, variables and built-in datatypes. The arithmetic, assignment, increment and decrement operators. Classes andobject definition, UML representation of a class, declaration of objects (Instancevariables), primitive types and reference types. Relational and logical operators,Boolean expressions, conditional statements, loop statements. Object orientedprinciples, encapsulation and information hiding, methods and the message passingprinciples, setters, and getters. Methods in depth, passing parameters, constructors,setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements,operations on arrays.PrerequisiteCT 101- IT skillsTextbookCourseObjectiveso An Introduction to Object-Oriented Programming with Java, 4th edition, by C.Thomas Wu (Otani), McGraw-Hill Higher Education, 2006.The course aims at giving the students a broad foundation in the fundamentalconcepts of object oriented programming accompanied by specific labs to developthe basic skills in object oriented programming with Java. It introduces the basicconcepts and principles of the Object Oriented approach such as: (i) Abstraction andEncapsulation principles, (ii) Classes, objects and the constructor concepts, (iii)Information hiding principle and the assessors concept. (iv) Methods, the messagepassing and the overloading principles.CSC 113 – Computer Programming-II (3-2-1)CourseThis course continues the coverage of the fundamental concepts of Object OrientedDescriptionProgramming started in Programming I (CSC 111). It covers more advanced conceptsand topics such as relationships between classes, inheritance, polymorphism,abstract classes, error handling, interfaces, generics and data structures such aslinked lists, stacks and queues, in addition to graphical user interface.PrerequisiteCSC 111 - Computer Programming I.Textbooko An Introduction to Object-Oriented Programming with Java, 4th edition, by C.Thomas Wu (Otani), McGraw-Hill Higher Education, 2006.o Java Programming: From Problem Analysis to Program Design,4th Edition byD.S. Malik.CourseObjectivesThe objective of this course is to develop the students' ability to use the basics ofobject-oriented design and programming. The students learn the characteristicfeatures of object orientation – classes, methods, polymorphism, and inheritance –through both the lectures and a sequence of illustrative programming assignments.Students will also study list data structures, event driven programming and graphicaluser interface tools.CSC 212 – Data Structures (3-0-1)CourseFundamental concepts of data structures. Performance measurement of algorithms.DescriptionImplementation and use of lists, stacks, queues, priority queues, trees, heaps, hashtables and graphs. Recursion. Students will do programming assignments.PrerequisiteCSC 113 - Computer Programming II. P a g e 12

Bachelor of Science in Computer ScienceTextbooko Data Structures and Algorithms in Java, 4th edition, by M.T. Goodrich and R.Tamassia. John Wiley and Sons, Inc., ISBN: 0-471-73884-0. Course Objective The objective of this course is to teach the fundamentals of data structures needed inthe remainder of the curriculum and develop students’ problem solving andcomputer programming skills.CSC 215 – Procedural Programming With C (2-2-1)CourseIntroduction to the procedural programming paradigm. Brief history of C. C primitiveDescriptiondata types, variables and constants, operators (arithmetic operators, logical operators,and access operators). Control structures. Procedures and parameter passing. Userdefined types. Pointers.PrerequisiteCSC 111 - Computer Programming ITextbooko Brian W. Kernighan, Dennis M. Ritchie, “The C programming Language”,Prentice Hall, 1988.CourseThe objective of this course is to teach students the design and implementation of CObjectivesprograms. They also are meant to understand when to use procedural vs. OOprogramming.CSC 220 – Computer Organization (2-2-1)CourseThe course introduces basic digital logic design techniques and integrates the topicsDescriptionof generic assembly language programming, computer organization, and computerdesign. The objectives of this course are to: help students learn the fundamentalelements of computer architecture from a functional, hardware perspective; foster anappreciation of organizational models and design decisions that determine the overallperformance, capabilities, and limitations of a computer system; and help studentsunderstand the interdependencies among assembly languages, computerorganization, and design. Topics include Introduction to basic computer organizationand how the computer works; DeMorgan’s Law, simplifying circuits using Karnaughmaps, Instruction code, Computer registers, Instruction set, Timing and control;Register Transfer Language HDL ( Hardware Description Language) and Microoperations; Computer Arithmetic Logic Unit Design. -Hardwired control unit,instruction set, introduction to addressing modes; Central Processing Unit Design,Register organization, Instruction format, Addressing modes.PrerequisiteMATH 151- Discrete MathematicsTextbookCourseObjectiveso Computer System Architecture - 3rd Edition, Author: Morris Mano, Publisher:McGraw Hill.o Logic and Computer Design Fundamentals*, 4th Edition by M. Morris Manoand Charles R. Kime.Published by Prentice-Hall, 2008. ISBN: 0-13-600158-0.The course aims to give the students:o Design and understanding of the different basic components of a computersystem;o Understanding how the different components inside the computer systemfunctionso A theoretical and practical understanding of the register transfer languageo A basic understanding of the importance of control units.o A theoretical and practical understanding of the arithmetic logic unit.o Understanding the interdependencies among assembly languages, computerorganization and design.CSC 227 – Operating Systems (3-0-1)CourseThis is an introductory course in Operating Systems. As such, it is intended to coverDescriptionmany of the concepts related to most of the actual Operating Systems. Although the P a g e 13

Bachelor of Science in Computer SciencePrerequisiteTextbookCourseObjectivesstudy of a particular Operating System is out of the scope of this course, nevertheless,we will cover most of the concepts found in any existing Operating System. We willreview computer system and operating system structures, processes and threads(concepts of, communication, synchronization and deadlocks), CPU Scheduling,memory management and virtual memory.CSC 212 - Data Structures.o Operating System Concepts, A. Silberschatz, P.B. Galvin, Eight Edition, JohnWiley & Sons Inc., ISBN 0-470-12872-0.Course objective is to provide the concepts of operating systems design andimplementation. It identifies and describes the major and common components of anoperating system with stating their functions and purposes especially processmanagement (process scheduling, and synchronization), and memory management(segmentation, paging, and swapping).CSC 281 – Discrete Mathematics for Computer Science (3-0-1)CourseLogic and methods of proofs. Basic Discrete Structures: Sets, Functions, RecursiveDescriptiondefinitions, Sequences and Summations. Growth of functions. Integers and Division,Rings & Fields, Applications of Number Theory. Combinatorics: Counting techniques,Permutations and Combinations, Binomial Coefficients, Permutation and Combinationswith repetition, Recurrence Relations, Generating Functions. Discrete Structures:Relations, Graphs, Trees and Finite State Machines. Discrete Probability (optional).PrerequisiteSTAT 101 - An Introduction to Probability & Statistics.MATH 151 - Discrete Mathematics.Co-requisiteCSC 212 – Data Structures.Textbooko Kenneth H. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill,2006, ISBN-10: 0073312711.CourseThe course is an introductory course in discrete mathematic with emphasis on howObjectivesthis theory can be invoked to develop efficient algorithms and systems. Also, it servesas the mathematical perquisite for many advanced courses.CSC 304 – Ethical Issues in Computing & Research Methods (3-0-1)CourseThis course seeks to equip students with sufficient knowledge of Computer Ethics toDescriptionenable them recognize the ethical nature of certain issues that arise in the Informationand Communications Technology (ICT) workplace. The course studies the effect of theproliferation of computers in our world, the impact of computers in the social,economic, political, and other aspects of our life. It covers the moral and legalobligations of computer professionals and issues concerning security, privacy versusfreedom of information, ethics and professionalism, intellectual property rights,research methods: collecting and analyzing data, critical evaluation of research, reportwriting, choosing and evaluating references, and presentation skills.PrerequisiteCSC 113- Computer Programming II.Textbooko Joseph M. Kizza: "Ethical and social issues in Information Age" 3rd EditionSpringer 2010.o Giannis Stamatellos :Computer Ethics a global perspective” 2nd Edition Jonesand Bartlett 2007.CourseObjectivesThe objective of the course is to provide the students with main concepts of computerethical issues and to introduce scientific research methods.CSC 311 – Design and Analysis of Algorithms (3-0-1)CourseMathematical essentials; sorting; space and time complexity; algorithm designDescriptionmethods: greedy algorithms, divide and conquer, and dynamic programming;introduction to graph theory; and NP-completeness.Prerequisite CSC 281 - Discrete Mathematics.CSC 212- Data Structures P a g e 14

Bachelor of Science in Computer ScienceTextbookCourseObjectiveso Introduction to the Design & Analysis of Algorithms – 2nd Edition . A. Levitin,Pearson Addison-Wesley, 2006.The course aims at giving the students a broad foundation in the fundamentalconcepts of object oriented programming accompanied by specific labs to developthe basic skills in object oriented programming with Java. It introduces the basicconcepts and principles of the Object Oriented approach such as: (i) Abstraction andEncapsulation principles, (ii) Classes, objects and the constructor concepts, (iii)Information hiding principle and the assessors' concept. (iv) Methods, the messagepassing and the overloading principles.CSC 329 – Computer Networks (3-0-1)CourseThis course covers the theoretical as well as hands-on knowledge of ComputerDescriptionNetworks covering all the fundamental aspects of networking such as OSI, TCP/IP,LANs, MANs,WANs, Routing Protocols, Switching etc. This course will discuss thedesign of small to medium size networks as well as different networking issuesrelated to routing and switching.Prerequisite CSC 227 - Operating Systems.Textbooko Computer Networks by Andrew S. Tanenbaum (4th edition).o Computer Networks and Internets by Douglas E. Comer (5th edition).o CCNA ICND1 and ICND2 official exam certification guides by Wendell Odom.CourseObjectivesThe objective of this course is to equip students with theoretical as well as hands-onknowledge of Computer Networks covering all the fundamental aspects ofnetworking such as OSI, TCP/IP, LANs, WAN, Routing Protocols, Switching etc. At theend of the course, students should be able to handle small to medium size networksand have the ability to implement and troubleshoot different networking issuesrelated to routing and switching.CSC 339 – Theory of Computation (3-0-1)CourseMathematical preliminaries. Regular languages, regular expression, deterministic andDescriptionnon-deterministic finite automata, closure properties and pumping lemma. Contextfree grammar and languages, pushdown automata and pumping lemma. Turingmachines, the Church-Turing Thesis, Computability. Decidability and the Haltingproblem. Complexity, class P and NP.Prerequisite CSC 281 - Discrete Mathematics for Computer Science.Textbooko Introduction to the Theory of Computation (second edition) by Michael Sipser.Editor: Thomson Course TechnologyCourseThe course aims at answering two questions: what can be computed by a machine?ObjectivesAnd how efficiently? It starts by presenting machines models, then addresses thecomputability problem, and then the complexity of algorithms and their classification.according to itCSC 340 – Programming Languages and Compilation (3-0-1)CourseProgramming Languages: features, design and translation issues. Lexical Analysis.DescriptionSyntactic Analysis. Semantic Analysis. Code Generation.Prerequisite CSC 339 - Theory of Computation.Textbooko Concepts of Programming Languages by Robert Sebesta, Addison-Wesley.o Compiler Construction: Principles and Practice by Kenneth C. Louden, PWSPublications.CourseObjectives P a g e 15The objective of this course is to explore different types of programming languagesand their features, and study translation/compilation techniques used in translatingthe high-level languages to a m

The Msc. program in Computer Science serves to deepen student's understanding of the field in preparation for career advancement or doctoral studies. The Department of Computer Science is the first department in the kingdom to admit and grant Master degrees in computer science for female students