مهارتهای "دستی" را با آخرین فن آوری های توسعه نرم افزار بیاموزید

آماده ای برای پیشرفت کار شما؟

آیا برای پیشرفت شغلی خود آماده هستید؟

با مشورت مشاوران خود، همه دانش‌آموزان دوره‌های پایه را از ستون سمت چپ زیر و دوره‌های پیشرفته را از ستون سمت راست انتخاب می‌کنند.

بر اساس امتحانات صلاحیتی که هنگام ورود آنها به محوطه دانشگاه گرفته می شود، فقط دانش آموزان در دانشگاه هستند مسیر مقدماتی ورودی باید در کلاس تمرین های برنامه ریزی اساسی (CS 4) 390 هفته ای شرکت کند. FOR 506 و CS 401 برای همه دانش آموزان مورد نیاز است. شرایط تحصیلات تکمیلی را مشاهده کنید >

دوره های اساسی

  • دوره اول شما به طور خاص طراحی شده است تا پایه و اساس چگونگی تبدیل شدن به یک متخصص حرفه ای در علوم کامپیوتر را ایجاد کند. این دوره ریشه در تمرین مراقبه متعالی دارد که منجر به تحقق توانایی واقعی شما می شود. شما در مورد مزایای TM از جمله توانایی حل مشکلات پیچیده با عملکرد ذهنی برتر باعث افزایش خلاقیت و تفکر "خارج از چارچوب" خواهید شد. این دوره بر اصولی متمرکز خواهد شد که با ایجاد ترکیبی بهینه از استراحت و فعالیت ، پیک عملکرد را در فعالیت ها تکیه می کنند. شما یک روزمره ایده آل ایجاد کرده و تجربه خواهید کرد که از موفقیت در زندگی پشتیبانی می کند. (2 واحد)

  • این دوره یک برنامه متمرکز برای افزایش مهارت های برنامه نویسی و تحلیلی در پنج زمینه: حل مسئله ، ساختار داده ها ، برنامه نویسی شی گرا ، زبان برنامه نویسی جاوا و استفاده از بازگشت در برنامه های جاوا ارائه می دهد.

    این مباحث به عنوان پیش نیاز دوره های تحصیلات تکمیلی علوم کامپیوتر از اهمیت ویژه ای برخوردار است.

    عناوین شامل: عناصر برنامه نویسی جاوا ، طراحی و پیاده سازی شی گرا ، ساختار داده ها (شامل لیست ها ، پشته ها ، صف ها ، درختان جستجوی باینری ، جداول هش و مجموعه ها) ، سلسله مراتب استثنا ، پرونده ورودی و خروجی پرونده و JDBC. (4 واحد) پیش نیاز: برای دانشجویان مقطع کارشناسی: CS 221؛ برای دانشجویان تحصیلات تکمیلی: موافقت دانشکده گروه (4 واحد)

  • این دوره اصول اساسی برنامه نویسی شی گرا را ارائه می دهد. دانش آموزان یاد می گیرند چگونه نرمافزار قابل استفاده مجدد و بهتر را نگهدارند و این دانش را با تخصیص و پروژه های آزمایشگاهی ادغام کنند. مباحث عبارتند از: اصول اساسی و مدل های برنامه نویسی شی گرا، نمودارهای کلاس UML و اصول طراحی که باعث ارتقاء مجدد قابلیت استفاده و قابلیت نگهداری نرم افزار می شوند. (واحدهای 4)

  • این دوره اصول طراحی DB و مقدمه ای بر پایگاه داده های SQL و NoSQL را پوشش می دهد.

    مباحث عبارتند از: اصول طراحی DB رابطه ای، فرم های عادی، کلیدهای اصلی و خارجی و منحصر به فرد. پرس و جو (تجمیع، پیوستن، مرتب سازی)؛ معاملات؛ اصول طراحی DB مبتنی بر سند، شاخص‌ها، مقیاس‌گذاری پایگاه‌های داده. در دسترس بودن و بازیابی (تخلیه، بازیابی، صادرات، واردات)؛ پایگاه داده به عنوان یک سرویس بدون پیش نیاز

    (واحدهای 4)

  • سیستم های پایگاه داده اطلاعات را سازماندهی و بازیابی می کنند، به کاربر اجازه می دهد تا به اطلاعات مورد نظر به راحتی و کارآمد دسترسی پیدا کند. مباحث شامل: مدل داده رابطه ای؛ SQL؛ مدل سازی ER؛ جبر ارتباطی؛ نرمال بودن داده ها؛ معاملات اشیاء در پایگاه داده؛ امنیت اطلاعات و صداقت؛ انبار داده، OLAP و داده کاوی؛ پایگاه داده های توزیع شده؛ و مطالعه یک سیستم پایگاه داده تجاری خاص. (واحدهای 4) پیش نیاز: CS 401 یا رضایت از دانشکده گروه.

  • مهندسی نرم افزار یک دوره است که دانش آموز را به بهترین شیوه در توسعه نرم افزار از طریق یک روش توسعه نرم افزار معرفی می کند. دانش آموزان قبلا در دوره های قبلی با پارادایم Object Oriented تجربه کرده اند و برخی از نمودارهای UML اولیه را برای مدل سازی روابط بین اشیاء نرم افزار مورد استفاده قرار داده اند. در مهندسی نرم افزار، دانش آموزان مهارت های لازم را در کنار هم قرار دادن این ابزار برای ایجاد نرم افزار قابل اعتماد و قابل نگهداری ایجاد خواهند کرد. یک روش توسعه نرمافزار توضیح می دهد که چگونه و برای چه زمانی باید از مفاهیم OO و نمودارهای UML برای دستیابی به هدف ساخت نرم افزار با کیفیت استفاده شود. این دوره ها در اطراف یک پروژه کوچک است که در آن اصول مورد بحث در قالب سخنرانی می تواند نشان داده شده و کاربردی باشد. در پایان دوره، دانش آموز یک برنامه در حال اجرا دارد که با استانداردهای بالا از روش RUP (Rational Unified Process) ساخته شده است.

  • این دوره روش هایی را برای تجزیه و تحلیل کارایی الگوریتم ها (از جمله بدترین حالت و تجزیه و تحلیل موردی متوسط) ارائه می دهد و انواع مختلفی از الگوریتم های معروف و بسیار کارآمد را معرفی می کند. تجزیه و تحلیل، طراحی و پیاده سازی الگوریتم ها تأکید مساوی دارند. مباحث شامل جستجو و مرتب سازی، بازده عملیات بر روی ساختارهای داده (از جمله لیست ها، هشتاب ها، درخت های جستجو باینری متوازن، صف های اولویتی)، الگوریتم های گراف، الگوریتم ترکیبی، روابط عددی، برنامه نویسی دینامیکی، مشکلات NP-complete و بعضی موضوعات خاص به عنوان زمان اجازه می دهد. (موضوعات خاص شامل هندسه محاسباتی، الگوریتم های رمزنگاری سیستم، تقریب، بزرگ داده ها و محاسبات موازی است.)

  • این دوره عمیقاً به مفاهیم برنامه نویسی وب ناهمزمان می رود و ضروری ترین الگوهای طراحی برای JS را شامل می شود که شامل الگوی مشاهده گر، کارخانه، دکوراتور و بسیاری موارد دیگر می شود. همچنین کار با Web API و ساختارهای داده Immutable را پوشش می دهد.

    مباحث عبارتند از: Git مشارکتی؛ معرفی TypeScript و Bundlers. جاوا اسکریپت ناهمزمان؛ رویداد-حلقه; History API, Geolocation API; Ajax (HTTP، Ajax، JSON، Fetch، مقدمه ای بر CORS، اشکال زدایی)؛ Promises and Async/Await; برنامه نویسی واکنشی؛ RxJS Observables و Operators. الگوهای طراحی: ماژول، نمونه اولیه، تک، مشاهده کننده، نما، کارخانه، دکوراتور، پروکسی، استراتژی، یادداشت. مرورگرهای وب مدرن بدون پیش نیاز

    (واحدهای 4)

  • آینده محاسبات موازی است. افزایش عملکرد متوالی به دلیل اینکه طراحی‌های پردازنده به محدودیت‌های کوچک‌سازی، فرکانس ساعت، توان و گرما رسیده است، افزایش یافته است. در سال 2005، تعداد هسته‌های پردازنده به طور ناگهانی از یک هسته به چند هسته افزایش یافت و این امکان را ایجاد کرد که برنامه‌ها را با سرعت بیشتری اجرا کنند. با این حال، برای استفاده از این پتانسیل، یک برنامه نویس باید دانشی از تکنیک های برنامه نویسی موازی داشته باشد.

    این دوره مفاهیم اساسی برنامه نویسی موازی در زمینه جاوا 9 را به دانش آموزان می آموزد. برنامه نویسی موازی توسعه دهندگان را قادر می سازد تا از رایانه های چند هسته ای برای اجرای سریعتر برنامه های خود با استفاده از چندین هسته به طور همزمان استفاده کنند. در پایان این دوره، یاد خواهید گرفت که چگونه از فریم ورک های موازی رایج جاوا (مانند Multi-Threading، Streams و Executors) برای نوشتن برنامه های موازی برای طیف گسترده ای از پلتفرم های چند هسته ای از جمله سرورها، دسکتاپ ها یا دستگاه های تلفن همراه استفاده کنید.

    ابزارهای نرم افزاری مورد استفاده در این دوره شامل Microsoft Visual Studio، Java multithreading library و OpenMP Threading استاندارد می باشد. (4 واحد) پیش نیاز: دانش برنامه نویسی کامپیوتر با استفاده از جاوا، سی یا سی پلاس پلاس.

    برای اطلاعات بیشتر، این ویدئوی پنج دقیقه ای ساخته شده توسط استاد این دوره را مشاهده کنید:

    https://www.youtube.com/watch?v=dWcWAnn0Ppc

  • این دوره مقدمه ای سیستماتیک بر برنامه نویسی برنامه های کاربردی وب تعاملی و پویا ارائه می دهد. این دوره برای افرادی در نظر گرفته شده است که قبلاً تجربه برنامه نویسی برنامه وب کم یا بدون تجربه قبلی دارند. این پیشنهاد از NodeJS و چارچوب Express برای پردازش سمت سرور استفاده می کند.

    این دوره با مروری بر مبانی HTML و CSS با تمرکز ویژه بر طرح‌بندی صفحه وب با استفاده از CSS آغاز می‌شود. جاوا اسکریپت زبان برنامه نویسی است که به طور کامل در این دوره از جمله توابع، اشیاء، ماژول ها، فریم ورک جی کوئری، آژاکس و Promises استفاده می شود. دانش آموزان بیشتر وقت خود را صرف برنامه نویسی یک سری وب سایت های پیچیده و پیچیده می کنند. یک پروژه Capstone در هفته آخر دوره یک وب سایت با یک پایگاه داده SQL ایجاد می کند که برای عملکرد بهینه توسط مشتری به صورت ناهمزمان قابل دسترسی است.

    این دوره پیش نیاز معماری وب اپلیکیشن CS545 و اپلیکیشن های وب مدرن CS572 است. پیش نیاز: CS 220 یا CS 401 یا رضایت دانشکده

    (واحدهای 4)

  • توسعه برنامه های اندروید یک تجربه هیجان انگیز و بالقوه سودآور است. توسعه اندروید دنیای خلاقیت را به روی برنامه نویس باز می کند. این به شما این امکان را می دهد تا در دنیای دیجیتالی که در آن می توانید محصولی ایجاد کنید و تنها با یک کلیک یک دکمه آن را در اختیار میلیاردها کاربر قرار دهید، خود را به گونه ای بیان کنید که هرگز تصورش را نمی کردید. در این دوره آموزشی نحوه توسعه اپلیکیشن های اندروید با استفاده از زبان برنامه نویسی Kotlin آموزش داده می شود.

    موضوعات عبارتند از: راه اندازی کامپیوتر برای برنامه نویسی اندروید. مبانی آشکار؛ طرح‌بندی‌ها، فعالیت‌ها، نماها و اجزای رابط کاربری؛ کار با Intent ها، Fragments و Shared Preferences. نمایش وب و HTML؛ کار با چند رسانه ای؛ اجزای Android Jetpack، پایگاه داده اتاق و JSON. درک سنسورها؛ بومی سازی؛ انتشار اپلیکیشن در گوگل پلی استور (4 واحد) بدون نیاز به پیش نیاز.

  • این دوره بر استفاده از جاوا اسکریپت در باطن (NodeJS) تمرکز دارد. دانش آموزان یاد خواهند گرفت که NodeJS چگونه کار می کند و درک عمیقی از رابط برنامه نویسی برنامه اصلی آن (API) به دست خواهند آورد. این دوره نحوه عملکرد موتور کامپایلر JS (V8)، نحوه ساختار کد با استفاده از ماژول ها، و نحوه عملکرد کد ناهمزمان در Node و حلقه رویداد Node را پوشش می دهد. این دوره همچنین Node Package Manager (NPM)، نحوه ساخت وب سرور، نحوه کار با فریم ورک Express و نحوه استفاده از ODM مانند Mongoose برای مدیریت MongoDB را آموزش می دهد. دانش‌آموزان تمام تکنیک‌هایی را که یک برنامه وب مدرن را تعریف می‌کنند، از جمله احراز هویت کاربران با توکن‌های وب JSON، ماندگاری داده‌ها در پایگاه داده و ساخت یک API Restful یاد خواهند گرفت. سایر مفاهیم علوم کامپیوتر نیز پوشش داده شده است.

    مباحث عبارتند از: طراحی HTTP & Rest API. برنامه های بدون تابعیت در مقابل برنامه های دولتی Node API; Node Package Manager (npm)؛ معماری مدل-کنترلر، چارچوب اکسپرس و میان افزارها. مسیریابی سمت سرور؛ احراز هویت مبتنی بر توکن بدون پیش نیاز

    (واحدهای 4)

  • Big Data منبع طبیعی جدید است: داده ها هر 12-18 ماه دو برابر می شوند. این دوره جدید Big Data Analytics مفاهیم اساسی و ابزارهای استخراج مجموعه داده های متنوع و بزرگ را برای ایجاد بینش جدید در بر می گیرد. شما به استفاده از زبان R برای ایجاد Wordcloud ، Pagerank ، تجسم داده ها ، درختان تصمیم ، رگرسیون ، خوشه بندی ، شبکه های عصبی و موارد دیگر تسلط خواهید یافت. شما با چندین مجموعه داده بزرگ ضبط شده چند میلیون کار خواهید کرد و همچنین فیدهای توییتر را استخراج می کنید. شما مفاهیم Hadoop / MapReduce و Streaming Data را فرا خواهید گرفت ، و سایر پروژه های بزرگ داده Apache مانند Spark ، Flink ، Kafka ، Storm ، Samza ، NoSQL را از طریق مقاله های تحقیقاتی جداگانه جستجو خواهید کرد. شما به صورت گروهی در پروژه های آزاد از Kaggle.com کار خواهید کرد تا با حل بهترین چالش های تجزیه و تحلیل داده های نژاد ، برای دریافت جایزه رقابت کنید. شما همچنین یاد خواهید گرفت که از IBM SPSS Modeler پیشرو در صنعت و سیستم عامل های داده کاوی منبع باز استفاده کنید. در این دوره همچنین از طیف گسترده ای از مطالب آموزش ویدیویی از MIT ، Coursera ، Google و سایر نقاط استفاده خواهد شد. (4 واحد) پیش نیاز: موافقت دانشکده گروه

  • هدف از این دوره ارائه دانش آموزان به دانش و مهارت در رهبری، از جمله مهارت های ارتباطی به عنوان آماده سازی برای نقش رهبری آینده است.

    در پایان این دوره، دانش آموزان پاسخ به سوالات کلیدی مربوط به رهبری موثر را درک می کنند، از جمله موارد زیر:

    آیا رهبران طبیعی هستند؟

    آیا شما مجبور به داشتن کارایی هستید که به طور موثر هدایت شود؟

    چه چیزی یک دارایی لازم است که یک رهبر باشد؟

    تفاوت بین مدیریت و رهبری چیست؟

    هوش عاطفی زیادی که در این دوران باید رهبری شود؟

    «سوء مدیریت» چیست و چگونه به خرابکاری خود منجر می شود؟

    دانستن این بازخورد برای فرآیند پیشرو ضروری است، چگونه می توانیم از ترس از دادن و دریافت آن دست برداریم؟

    منبع 80٪ از مشکلات موجود در محل کار چیست؟

    آیا تحقیقات علمی برای کمک به سازمان در بهبود مهارتهای رهبری فردی و تیمی در دسترس است؟

    سخنرانان مهمان شامل کارآفرینان برجسته، دانشمندان کامپیوتر، بشردوستانه، آکادمیک و دیگر رهبران برجسته در جامعه خواهند بود.

    (واحدهای 2)

دوره های پیشرفته

  • Project Management introduces the student to learn through practical development of a project, lectures, reading, experiencing the Project Management Framework,  its body of knowledge areas (10 knowledge areas and related processes) and deployment.  Students work through a real project implementation and experience the role of project management in all phases of the Software Development Life Cycle using an application development methodology.

    Students get real experience in project planning, requirements management, scope management, coding standards, cost estimations for module / code in terms of dollar value as well as in terms of the man hours, schedules management, quality management, risk management and communications management.  By the end of the course, students will have a running application that is developed using the PM processes used in industry. (Starting from requirements through production deployment).  The project is developed using the latest Java Technologies and their frameworks with the Web services and Design Patterns.

  • در این دوره، موضوعات پیشرفته در طراحی زبان برنامه نویسی با تاکید بر روش های رسمی و مکانیسم های انتزاعی در نظر گرفته می شود. مباحث شامل داده ها و انتزاع کنترل، تعریف رسمی نحو و معنایی، اثبات صحت برنامه، برنامه نویسی غیرمجاز، ساختارهای کنترل پیشرفته و مطالعه زبان های خاص است. (واحدهای 4) پیش نیاز: CS 401 یا رضایت از دانشکده گروه.

  • این دوره الگوهای برنامه نویسی ابری را پوشش می دهد و به دانش آموزان اجازه می دهد تا کار با سرویس های ابری وب مختلف، از جمله توابع بدون سرور AWS را تمرین کنند.

    موضوعات عبارتند از: مدیریت هویت و دسترسی (IAM); ابر خصوصی مجازی (VPC)، فهرست‌های کنترل دسترسی به شبکه – NACL، زیرشبکه‌ها، مناطق در دسترس، سرویس ذخیره‌سازی ساده (S3)، محاسبات ابری الاستیک (EC2)، سرویس اعلان ساده (SNS)، متعادل‌کننده بار الاستیک (ELB)، مقیاس خودکار، مسیر 53، API در فضای ابری؛ AWS Lambda، بدون سرور؛ خدمات وب؛ استقرار برنامه، پروژه نهایی. (4 واحد). (بدون پیش نیاز)

  • پردازش اطلاعات مدرن توسط مخزن گسترده ای از داده ها تعریف شده است که نمی توانند با استفاده از سیستم های پایگاه داده سنتی مورد استفاده قرار گیرند. این دوره جدیدترین تکنولوژی را توسعه داده و توسط رهبران صنعت مورد استفاده قرار می گیرد تا این مشکل را در موثر ترین راه حل حل کنند. موضوعات مورد بحث شامل الگوریتم MapReduce، الگوهای الگوریتم MapReduce، HDFS، معماری خوشه Hadoop، YARN، فرکانس های نسبی محاسباتی، مرتب سازی ثانویه، خزیدن وب، شاخص های معکوس و فشرده سازی شاخص، الگوریتم Spark و Scala است. (واحدهای 4) پیش نیاز: الگوریتم CS 435.

  • تنها در چند سال کوتاه، فناوری‌های کلان داده از حوزه تبلیغات به یکی از اجزای اصلی عصر دیجیتال جدید تبدیل شده‌اند. این فناوری ها برای تبدیل اطلاعات به دانش بسیار مفید هستند. هدف این دوره افزودن چند ابزار مهم به زرادخانه شما است تا به شما در حل مشکلات مختلف داده های بزرگ کمک کند.

    این دوره با پاسخ دادن به سؤالاتی مانند «داده بزرگ چیست و اهمیت آن چیست؟ چگونه داده های بزرگ را به طور قابل اعتماد و ارزان ذخیره می کنید؟ از چه ابزارهایی برای یافتن اطلاعات مفید از این داده های بزرگ استفاده کنیم؟ و غیره." در این دوره، دانشجویان ابزارها و مدل های برنامه نویسی مختلف برای تجزیه و تحلیل داده های بزرگ را مطالعه خواهند کرد. موضوعات شامل پروژه های اکوسیستم Hadoop مانند MapReduce، Pig، Hive، Sqoop، Flume، HBase (NoSQL DB)، Zookeeper و همچنین پروژه های اکوسیستم Apache Spark مانند Spark SQL و Spark Streaming است. همچنین به دانش‌آموزان این فرصت داده می‌شود که یک خط لوله کلان داده کامل ایجاد کنند که از جمع‌آوری داده‌ها در زمان واقعی، پردازش، تجزیه و تحلیل و در نهایت مشاهده نتایج در قالب گرافیکی روی داشبورد شروع می‌شود. دانش آموزان عمدتاً با یک خوشه Hadoop منفرد از توزیع Cloudera کار خواهند کرد. (4 واحد) (MPP تنها پیش نیاز است)

  • با رشد سریع داده‌ها از منابع مختلف، بیشتر کسب‌وکارها و سازمان‌ها به‌شدت داده محور شده‌اند. استخراج اطلاعات کلیدی از چنین داده‌هایی و تبدیل آن به دانش و هوش، عملکرد کلیدی Big Data Analytics است. به همین دلیل است که مشاغل بیشتری به طور فزاینده ای پول بیشتری را برای تجزیه و تحلیل داده ها خرج می کنند. این در حال حاضر با رشد سریع شتاب بیشتری می گیرد دگرگونی های دیجیتال. این دوره آموزشی تجزیه و تحلیل داده های بزرگ، مفاهیم اساسی تجزیه و تحلیل، الگوریتم ها و ابزارهای استخراج مجموعه داده های متنوع و بزرگ برای ایجاد بینش تجاری جدید را پوشش می دهد.

    تمام تجزیه و تحلیل های اصلی - از جمله توصیفی، پیش بینی کننده، تجویزی و تشخیصی پوشش داده خواهد شد. این شامل رویکردهای الگوریتمی برای تجزیه و تحلیل مجموعه داده های بزرگ (بدون ساختار، ترکیبی، ساختار یافته، نمودار و جریان): یادگیری ماشینی (شبکه های عصبی، یادگیری عمیق، درختان تصمیم گیری، جنگل تصادفی و غیره)، هوش مصنوعی، پردازش زبان طبیعی (NLP)، آماری و الگوریتم‌های جریان، بر روی پلت‌فرم‌های تحلیل توزیع‌شده مدرن (مانند MapReduce، Hadoop، Spark،) برای رگرسیون (پیش‌بینی)، طبقه‌بندی، خوشه‌بندی، سیستم‌های توصیه و موارد دیگر. تجزیه و تحلیل داده های کلان پیشرفته، به خصوص تجزیه و تحلیل علّی نیز پوشش داده خواهد شد. زبان های برنامه نویسی Python/R بیشتر مورد استفاده قرار خواهند گرفت. دانش آموزان همچنین یک پروژه گروهی برای حل یک مشکل واقعی با استفاده از تجزیه و تحلیل داده های بزرگ انجام می دهند.

    (4 واحد) پیش نیاز: موافقت هیئت علمی گروه

  • این دوره روش ها و شیوه های فعلی برای طراحی خوب سیستم های نرم افزاری را در نظر می گیرد. موضوعات شامل الگوهای طراحی نرم افزار، چارچوب ها، معماری ها و سیستم های طراحی برای اعمال این انتزاعات چند سطحی است. (2-4 واحد) پیش نیاز: CS 401 یا رضایت دانشکده.

  • این دوره بر آموزش اصول و شیوه های مورد استفاده در هنگام توسعه برنامه های کاربردی سازمانی در مقیاس بزرگتر تمرکز دارد. ما لایه‌های مختلف معماری که اغلب استفاده می‌شوند و فناوری‌های مختلف مرتبط با این لایه‌ها را بررسی می‌کنیم، از جمله نقشه‌برداری رابطه‌ای شی (ORM)، تزریق وابستگی (DI)، برنامه‌نویسی جنبه‌گرا (AOP)، و ادغام با سایر برنامه‌ها از طریق خدمات وب (RESTfull). و SOAP)، پیام رسانی و فراخوانی روش از راه دور. باید دانش کاری از پایگاه داده های رابطه ای و SQL داشته باشد. اگر دوره قوی یا دانش کاری خوبی از SQL ندارید، باید قبل از ثبت نام برای EA، برای CS422 DBMS ثبت نام کنید. (4 واحد)

  • این دوره برنامه های کاربردی وب را در محیط سازمانی تمرکز می کند. یک نرم افزار سازمانی یک سیستم نرم افزاری بزرگ طراحی شده برای کار در یک سازمان بزرگ مانند شرکت یا دولت است. برنامه های کاربردی سازمانی پیچیده، مقیاس پذیر، جزء مبتنی بر، توزیع و ماموریت مهم است. این دوره، CS545، در انتهای جلویی یا لایه ارائه یک برنامه وب شرکتی تمرکز می کند. CS544 Enterprise Architecture یک دوره همراه است که بر لایه عقب یا کسب و کار، از جمله منطق کسب و کار، معاملات و پایداری تمرکز دارد. CS472، برنامه نویسی وب، یک درس پیش نیاز است که شامل HTML، CSS، جاوا اسکریپت، سرولت ها و JSP است.

    این دوره، اصول و الگوهای عمومی را در سراسر سیستم عامل ها و چارچوب ها آموزش می دهد. این دوره بررسی و کار با دو چارچوب وب غالب جاوا، چهره های سرور جاوا (JSF) و SpringMVC را بررسی خواهد کرد. JSF یک چارچوب جزء است و مشخصات رسمی ارائه شده برای پشته فناوری Java Enterprise Edition است. SpringMVC بخشی از چارچوب Core Spring می باشد و در سال های اخیر به طور گسترده ای مورد استفاده قرار گرفته است. (واحدهای 4) پیش نیاز: CS 472 یا رضایت از دانشکده گروه.

  • React محبوب ترین کتابخانه برای ساخت برنامه های وب قدرتمند است. در این دوره، دانش‌آموزان یاد می‌گیرند که چگونه از React و ES6 برای ایجاد برنامه‌های قوی و مقیاس‌پذیر از ابتدا با استفاده از جدیدترین الگوهای Redux برای حفظ وضعیت برنامه خود استفاده کنند.

    موضوعات عبارتند از: توسعه برنامه های کاربردی وب مبتنی بر کامپوننت، الگوهای طراحی اجزا، مصرف API های استراحت، پایداری با API مرورگر، JSX و React API (props، proptypes، رویدادها، refs)، جریان داده های برنامه، و استقرار برنامه های React. پیش نیاز WAP یا CS 477.

    (واحدهای 4)

  • در این دوره، دانش‌آموزان معماری برنامه‌نویسی واکنش‌گرای اپلیکیشن‌های وب تک صفحه‌ای (SPA) را همراه با تمامی مهارت‌های لازم برای ساخت یک برنامه وب مدرن کامل با استفاده از TypeScript و Angular می‌آموزند. دانش آموزان درک عمیقی از نحوه عملکرد Angular به دست می آورند، از جمله: تشخیص تغییر. برنامه نویسی واکنشی RxJ با مشاهده پذیرها و موضوعات. Shadow DOM; مناطق؛ ماژول ها، قطعات، دستورالعمل های سفارشی، و لوله ها؛ خدمات و تزریق وابستگی؛ کامپایلر زاویه ای: کامپایل JIT و AOF. فرم ها (قالب محور و داده محور)؛ مسیریابی، گاردها و حفاظت از مسیر؛ سرویس گیرنده HTTP؛ و احراز هویت JWT JSON Web Token. پیش نیازها: WAP یا CS 477.

    (واحدهای 4)

  • این دوره از توسعه وب به توسعه اپلیکیشن موبایل با استفاده از React Native، یک فریمورک محبوب از فیس‌بوک که به برنامه‌های بومی چند پلتفرمی اجازه می‌دهد با استفاده از جاوا اسکریپت بدون جاوا یا سوئیفت اجرا شوند، می‌گذرد. این دوره به معرفی جاوا اسکریپت-جاوا اسکریپت XML (JSX) مدرن - یک پسوند جاوا اسکریپت می پردازد. دانش آموزان با React Native و پارادایم ها، معماری برنامه ها و رابط های کاربری آن تجربه کسب می کنند. این دوره در یک پروژه نهایی به پایان می رسد که در آن دانش آموزان یک برنامه تلفن همراه را کاملاً با طراحی خودشان پیاده سازی می کنند. پیش نیاز: WAA یا CS568.

    (واحدهای 4)

  • در این دوره شما معماری برنامه ریزی واکنش SPA (برنامه های وب سایت تک صفحه) را همراه با تمام مهارت های لازم برای ساخت یک برنامه کامل وب مدرن خواهید آموخت. فن آوری ها عبارتند از: NodeJS، ExpressJS، TypeScript، AngularJS2، Firebase و پایگاه داده های NoSQL (MongoDB). این دوره شامل موارد زیر خواهد بود:

    • چگونه C ++ V8 موتور و کد ناهمزمان در گره رویداد Node و Node کار می کنند.
    • نحوه ساخت کد خود را برای استفاده مجدد و ساخت آرامش API با استفاده از ماژول ها و ExpressJS.
    • چگونه پایگاه داده های NoSQL کار می کنند: Mongo Shell، چارچوب Aggregation، مجموعه های Replica، Clustering، Shards، Mongoose ORM.
    • درک عمیق از چگونگی کار زاویه ای (با حمایت گوگل)، تشخیص تغییر، برنامه ریزی واکنش پذیر RxJs با مشاهدات و موضوعات، سایه DOM، زون، ماژول ها و اجزای، دستورالعمل های سفارشی و لوله ها، خدمات و وابستگی تزریق، کامپایلر زاویه ای، JIT و AOF تالیف ، فرم ها (رانده الگو و داده ها)، اتصال داده، مسیریابی، نگهبانی و حفاظت از مسیر، HTTP مشتری، JWT JSON تایید هویت وب سایت.

    (واحدهای 4)

  • در این دوره عملی ، دانشجویان وظایف مربوط به رایانه را در موقعیت حرفه ای فنی انجام می دهند. وظایف انجام شده ممکن است در طراحی و توسعه سیستم های جدید یا استفاده از سیستم های موجود برای اهداف خاص باشد. شرح وظایف عملی توسط کارفرما و دانشجو صورت می گیرد و نیاز به تأیید قبلی توسط یکی از دانشکده های تحصیلات تکمیلی گروه ، با مشورت با ناظر عملی در محل دانشجو دارد. (این دوره در درجه اول برای دانشجویان در دوره های کارآموزی یا تعاونی است.) (0.5-1 واحد در هر بلوک - ممکن است تکرار شود.)

  • یادگیری ماشین رشته‌ای است که به رایانه‌ها توانایی یادگیری از داده‌ها را می‌دهد، تقریباً در قلب هر رشته علمی قرار دارد و مطالعه تعمیم (یعنی پیش‌بینی) از داده‌ها موضوع اصلی یادگیری ماشین است. این دوره مقدمه ای در سطح فارغ التحصیلی بر یادگیری ماشین و پوشش عمیق روش های جدید و پیشرفته در یادگیری ماشین و همچنین تئوری اساسی آنها می دهد. این بر رویکردهای مرتبط عملی تأکید می کند و تعدادی از کاربردهای اخیر یادگیری ماشین را مورد بحث قرار می دهد، مانند داده کاوی (در کلان داده / علم داده، تجزیه و تحلیل داده)، پردازش زبان طبیعی، بینایی رایانه، رباتیک، بیوانفورماتیک و پردازش متن و داده های وب. یادگیری ماشین در صنایع مختلفی از جمله خدمات مالی، نفت و گاز، مراقبت های بهداشتی، بازاریابی و تبلیغات، دولت، اینترنت و اینترنت اشیا استفاده می شود.

    این دوره انواع پارادایم های یادگیری ، الگوریتم ها ، نتایج نظری و برنامه های کاربردی را پوشش می دهد. از مفاهیم اساسی هوش مصنوعی ، نظریه اطلاعات ، آمار و نظریه کنترل تا آنجا که مربوط به یادگیری ماشین است استفاده می کند. مباحث عبارتند از: یادگیری تحت نظارت (یادگیری تولیدی / افتراقی ، یادگیری پارامتری / غیرپارامتری ، شبکه های عصبی ، ماشین های بردار پشتیبانی ، درخت تصمیم ، یادگیری بیزی و بهینه سازی). یادگیری بدون نظارت (خوشه بندی ، کاهش ابعاد ، روش های هسته). نظریه یادگیری (مبادله تعصب / واریانس ؛ نظریه VC ؛ حاشیه های بزرگ) ؛ تقویت یادگیری و کنترل انطباقی. مباحث دیگر شامل HMM (مدل مخفی مارکوف) ، محاسبات تکاملی ، یادگیری عمیق (با شبکه های عصبی) و طراحی الگوریتم هایی است که می توان عملکرد آنها را به دقت برای مشکلات اساسی یادگیری ماشین تحلیل کرد.

    بخش مهمی از دوره یک پروژه گروهی است. برای کمک به دانش آموزان در انجام پروژه ها، ابزار عمده ی منبع باز مورد استفاده برای یادگیری ماشین موازی، توزیع و مقیاس پذیر، به طور مختصر مورد پوشش قرار می گیرد. (واحدهای 4) پیش نیاز: هیچ کدام.

  • هوش مصنوعی (AI) رشته‌ای است که سعی در ساخت و درک سیستم‌های هوشمند دارد. رایانه هایی با هوش سطح انسانی تأثیر زیادی بر جامعه خواهند داشت. عوامل نرم‌افزار هوشمند و سیستم‌های چند عاملی به سرعت در حال رشد هستند و در بسیاری از زمینه‌ها مانند تحول دیجیتال، اتوماسیون، سیستم‌های مکالمه، جستجوی وب، رباتیک، تولید، سلامت، داروسازی، بانکداری، زنجیره تامین، رانندگی مستقل، تبلیغات، بازی‌ها، کمک می‌کنند. چند نام ببرید هوش مصنوعی یک صنعت چند تریلیون دلاری را هدایت می کند. این دوره پایه های هوش مصنوعی را آموزش می دهد و به دانش آموزان درک عملی از این رشته می دهد. موضوعات شامل مفاهیم اصلی هوش مصنوعی - عوامل هوشمند، سیستم های چند عاملی، جستجوی هوشمند، منطق مرتبه اول و بالاتر، بازنمایی دانش، استدلال، ادراک، یادگیری، معناشناسی (NLP، تصویر، شی...)، برنامه ریزی، تصمیم گیری، کنشی، واکنشی، مشورتی، منطقی، انطباقی، ارتباطی و تعاملی. این دوره بر رویکردهای مرتبط با عملی تأکید دارد و تعدادی از کاربردهای رایج اخیر هوش مصنوعی را مورد بحث قرار می دهد. ابزارهای منبع باز اصلی و زبان های برنامه نویسی برای هوش مصنوعی (از جمله Low code و No code) به طور خلاصه پوشش داده خواهند شد. دانش آموزان همچنین یک پروژه گروهی برای حل یک مشکل واقعی با استفاده از هوش مصنوعی انجام خواهند داد.

    (4 واحد) پیش نیاز: موافقت هیئت علمی گروه

  • در این دوره ما به تکنیک ها، اصول و الگوهای چگونگی طراحی سیستم های نرم افزاری قابل انعطاف، مقیاس پذیر، قابل تست و انعطاف پذیر با استفاده از سرویس های میکرو نگاه خواهیم کرد. ما مطالعه خواهیم کرد که چگونه می توان برنامه های بزرگ را به سرویس های کوچکتر تقسیم کرد که آسان تر است و مزایای دیگر را نسبت به برنامه های سازمانی یکپارچه مقایسه می کنیم. معماری میکرو سرویس توزیع شده نیز چالش های زیادی را به همراه دارد. ما این چالش ها را بررسی خواهیم کرد و به آنها پاسخ خواهیم داد. موضوعات این دوره شامل سبک های معماری، تکنیک ها و الگوهای ادغام، طراحی دامنه، معماری رویداد و برنامه ریزی واکنشی است. (اعتبارات 4). (بدون پیش نیاز)

  • به افتخار 50 سال آموزش MIU، دپارتمان علوم کامپیوتر خوشحال است که مجموعه جدید Golden Jubilee ComPro Tech Talks را راه اندازی می کند.

    این مجموعه ماهانه توسط پروفسور رنوکا مهنرج تنظیم و مدیریت می شود.

    گفتگو در دسترس است https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    آخرین سخنرانی ضبط شده ما را از شنبه، 28 مه 2022 ببینید:

    مربی علوم کامپیوتر MIU Unubold Tumenbayar، معمار راه حل های حرفه ای دارای گواهینامه AWS، این موضوعات را در جدیدترین ComPro Tech Talk ما پوشش داد:
    o ساختن یک برنامه Full-stack در چند دقیقه در فضای ابری
    o بحث در مورد فن آوری های مدرن
    o GraphQL
    o واکنش نشان دهید
    o NoSQL با استفاده از خدمات و ابزار AWS

    اسلایدهای Unbold را ببینید اینجا کلیک نمایید.

    این گفتگو پیش نمایش خوبی از ماست دوره رایانش ابری (CS 516).

گزینه های مطالعه

3 گزینه تحصیلی برای دانشجویان بین المللی وجود دارد.
هر کدام یک مدرک کارشناسی ارشد در علوم کامپیوتر ارائه می دهند.
تاریخ ورود همه آنها ژانویه، آوریل، آگوست یا اکتبر است.

برنامه هاماه ها مطالعه در دانشگاهکارآموزی پولیآموزش از راه دور (DE) در طول تمرین
CPT8-9تا 2 سال CPT4 دوره DE
انتخاب کردن9-10تا 11.5 ماه CPT + 3 ساله انتخاب کردن (اختیاری)3 دوره DE
تمام وقت در پردیس12-133 سال انتخاب کردن انتخابNA

"اولین بار که در مورد برنامه MSCS شنیدم ، در آن شک کردم. باور نمی کردم که چنین چیزی وجود داشته باشد. اما یک روز ، یکی از دوستانم به برنامه پیوست. این زمانی بود که تأیید کردم واقعی است. سپس روند درخواست خود را از سر گرفتم. خوب! درست است ، من اینجا هستم ، برنامه را به پایان رسانده ام و بسیار خوشحالم. "

آیا شما آماده شروع یک شغل جدید هستید؟

زمان انتظار مصاحبه سفارت آمریکا و زمان پردازش درخواست MSCS

ما دریافته‌ایم که بسیاری از کشورها تاریخ‌های مصاحبه را با تأخیر دارند. لطفا ببینید زمان انتظار ویزا (state.gov) برای اطلاع از مدت زمان دریافت تاریخ مصاحبه برای کشور/شهر خود.

اگر زمان انتظار مصاحبه بیش از 2 ماه است، ما شما را تشویق می‌کنیم که درخواست خود را بلافاصله تکمیل کنید، حتی اگر قصد دارید برای ورودی آینده درخواست دهید. به این ترتیب می توانید مراحل درخواست را تکمیل کنید، I-20 خود را دریافت کنید و سپس تاریخ مصاحبه بگیرید. برای دریافت تاریخ مصاحبه باید I-20 داشته باشید. اگر تاریخ زودتر از زمانی است که قصد دارید به ایالات متحده بیایید، همیشه می توانید با دریافت ویزا تاریخ ورود خود را به تعویق بیندازید. ما فقط برای شما یک I-20 جدید برای تاریخ ورود که قصد دارید برای آن بیایید صادر می کنیم.

برای سؤال در مورد این اطلاعات، لطفاً با دفتر پذیرش ما تماس بگیرید csadmissionions@miu.edu.

این 4 سوال را از خود بپرسید:

  1. آیا مدرک لیسانس در رشته فنی دارید؟ آره یا نه؟

  2. آیا در مقطع کارشناسی نمرات خوبی داشتید؟ آره یا نه؟

  3. آیا حداقل 6 ماه سابقه کار تمام وقت و با حقوق به عنوان توسعه دهنده نرم افزار بعد از مدرک لیسانس خود دارید؟ آره یا نه؟

  4. آیا می توانید برای کلاس ها به ایالات متحده بیایید (این برنامه به صورت آنلاین در دسترس نیست)؟ آره یا نه؟

اگر به تمام سوالات بالا "بله" پاسخ دادید، شما می توانید درخواست کنید (اگرچه این تضمینی برای قبولی شما نیست.)